Status Code (TH)

Status Codes ใช้ประกอบคำสั่งในการสร้าง planar polylines (polylines ที่อยู่บนระนาบ x-y เดียวกัน) เช่น ในคำสั่ง

FPRISM_	top_material, bottom_material, side_material, hill_material,
	n, thickness, angle, hill_height,
	x1, y1, s1,
	xn, yn, sn

s1 หมายถึง status code สำหรับ coordination ที่ 1 และ sn หมายถึง status code สำหรับ coordination ที่ n Continue reading “Status Code (TH)”

Syntax (TH)

Case Sensitivity

สำหรับ GDL โดยทั่วไปแล้วตัวอักษร a กับ A นั้นมีความหมายเดียวกัน การพิมพ์คำสั่ง add2 หรือ ADD2 หมายถึงคำสั่งเดียวกัน ยกเว้นในกรณีของ string (ตัวอักษร และ/หรือ ตัวเลขที่อยู่ระหว่างเครื่องหมาย “ ” หรือ ‘ ‘) คำว่า “type 1” จะไม่ถูก GDL ตีความเป็นความหมายเดียวกันกับ “TYPE 1”

Continue reading “Syntax (TH)”

Parameter (TH)

Parameter เป็นตัวกำหนด “ค่า” หรือ value ซึ่งอาจจะเป็น ค่าความยาว, ขนาด, ระยะ, องศา, วัสดุ (Surface/Building Material) หรืออื่น ๆ ขึ้นอยู่กับชนิดของ parameter

Value นี้อาจจะได้มาจากการคำนวณใน script, จากการกำหนดของ user หรืออื่น ๆ เช่น จากการอ่านค่าจาก file ภายนอก (.xml, .txt) และ value นี้จะถูกบันทึกไว้ในแต่ละ object เพราะฉะนั้น แต่ละ object อาจจะมี value ต่างกันสำหรับ parameter เดียวกันได้นอกเหนือไปจาก default value (ค่าตั้งต้น)

Continue reading “Parameter (TH)”

Subtypes (TH)

“Object”, “GDL Object” และ “Library part” เป็นคำ 3 คำที่มีความหมายเดียวกัน หมายถึง object ที่ถูกสร้างขึ้นมาจากการเขียน script GDL (Geometric Description Language) ซึ่งเป็นภาษาที่พัฒนามาจากภาษา Basic

คุณสมบัติพื้นฐานของ object แต่ละอันนั้นแตกต่างกันออกไป ขึ้นอยู่กับ subtype (ประเภทของ library part) เพราะฉะนั้น การเลือก subtype จึงเป็นสิ่งที่ต้องทำเป็นอันดับแรกในการสร้าง object ใหม่

Continue reading “Subtypes (TH)”

Multi-lines Content

(Tip#2 for Indigo Figs Story Marker)

Sometimes, setting textblock width to create multi-lines content gives unpredictable results. Instead, use spacial characters “\n” (backslash + n) to instruct a “new line” command.

Simply put “\n” where you need to start a new line and that’s it!

Download IndigoFigs Story Marker

IF Story Marker Preview

Here are some of the features ;

  • Staggering Options
  • Display Story Name (with or without Story ID), 2 Story Elevations with separate Reference Levels.
  • Additional Stories / Levels for extra levels needed to display, without having to add project stories.
  • Markers on the left and right side can be move(offset) individually for each story, or using “Batch Offset Distance” tab to offset multiple stories (base on elevation) at the same time.
  • All of the contents, except Story IDs, come with “Custom Overwrite” option, which allows overwriting individual story, not just “Overwrite All”, with additional option to use “Remark Pen”.
  • Story Elevations with Optional Secondary Dimension Format that both can be link to settings in Option > Project Preferences > Dimension or using “Custom” within it’s own object’s setting dialog. “Fractions in Small Type” option in “Custom Dimension Format” tab also available.
  • Each Story Name, ID, Elevation has separate text settings (Font, Size, Style) with optional “Uniform Text”.
  • Content’s positions are adjustable (affects all stories).
  • And more, …
  • Indigo Figs Story Marker ; General Settings

Slanted / Double Slanted Wall and Surfaces

: ArchiCad 21, 20

WALL_MAT_A  / WALL_MAT_B works fine when the wall’s cross section is rectangular (WALL_CROSSSECTION_TYPE = 1). But when it comes to Slanted /Double Slanted Wall (WALL_CROSSSECTION_TYPE = 2 or WALL_CROSSSECTION_TYPE = 3), the information from WALL_MAT_A and WALL_MAT_B is swapped.

Labeling Building materials and Surfaces for Complex profile wall

: ArchiCad 20

This is just something I found out while playing with ArchiCad and I think it could be useful for someone else.

Building materials

Labeling “Building materials” needs appropriate Cut Plane height (Document > Floor Plane Cut Plane Settings > Cut Plane height to Current Story).

The Complex profile wall needs to be cut by Cut Plane so ArchiCad can “see” what the wall is made of, so it can later send the information about Building materials currently seen to the Label. If the wall is partially cut, then only the information about the cut part is available. If the wall is completely over or under the Cut Plane, no information about Building materials is available.


Labeling “Surfaces” is, on the other hand, not depend on the Cut Plane height at all. It depends on how the profile is created. The location of the Cut fills associated with Building materials used in the profile plays the crucial role for this part. It seems that ArchiCad sees the Surfaces information according to the origin (the hotspot at 0, 0) in the Profile Editor window.

There needs to be at least one part of the Fill at y=0, it doesn’t matter which part (top, bottom, sides), for ArchiCad to “see” the Surfaces used in the profile. Or, may be it’s easier to say that only Fill that is cut by the imaginary x-axis will be seen. If there are multiple Fills that are cut by the x-axis, the left most Surface can be identified as “inside” and the right most is “outside”.

If the Override Surfaces is activated, in this case, the information about the Extrusion Surface is disregarded for labeling.

In the case that there’s no Fill cut by the x-axis, currently only the information from the Ends Surface (Override Surfaces) is available for labeling. For GDL, all of the WALL_MAT_A, WALL_MAT_B, WALL_MAT_EDGE report the same value as the Ends Surface (Even though the model looks correct).

Maybe this complex behavior is the reason why the “Surface Label 20” has only one option for labeling complex profile wall, “Custom Text”. Well, complex behavior for complex profile wall. It kinda makes sense, …doesn’t it?