作成者: |
|
作成日: |
2010-06-13 |
• ArchiCAD 14 |
|
プラットフォーム: |
• Mac OS X |
対象: |
• 新規ユーザー |
参照番号: |
• [tracking number] |
カスタム窓に建具記号を追加する
この記事では、カスタム窓に建具記号を追加する方法について説明します。自作の窓オブジェクトにGDLスクリプトを追加する事で、建具記号が表示されるようになります。 このGDLスクリプトはArchiCAD14でお使いいただけます。
以下の手順に従ってください。
- カスタム窓を作成します。スラブで作成した場合、[平行投影]で「上面図」とし、窓パネルを正面から見る状態にして保存します。
- 保存した建具を開き、サブタイプを日本建具に設定します(例:窓の場合、「ACJX4WindowShoji」)。
- [マスタースクリプト]を開き、スクリプトをコピーします。
マスタースクリプト
CALL "ACJX4WindowShoji" parameters ALL returned_parameters detail_ui success = LIBRARYGLOBAL ("LibraryGlobals13", "AC_bShowAddHotspotsForIS", reqShowAddHotspotsForIS) !------------ KeyPlan No.+ sub no. for ii=10 to 1 step -1 if type_no<10**ii then no_len=ii next ii for ii=10 to 1 step -1 if type_no_sub<10**ii then no_len_sub=ii next ii if no_and_sub = "" then if type_no_sub=0 then type_no_tx = STR(type_no, no_len, 0) else type_no_tx = STR(type_no, no_len, 0) + "-" + STR(type_no_sub, no_len_sub, 0) endif else type_no_tx = no_and_sub endif parameters type_no_tx = type_no_tx lock "type_no_tx" !-------------------------- Update JX4 Keyplan ------- if scale_link_label then if GLOB_SCALE > detail_high then marker_type =0 else marker_type =1 endif else if key_mark_type = "タイプ1" then marker_type = 0 else marker_type = 1 endif endif- 2Dスクリプトに以下のスクリプトを貼りつけます。
2Dスクリプト
if reqShowAddHotspotsForIS AND not(fl_symbol) then goto "KeyPlan_Marker" FRAGMENT2 all, 1 !______________________________ Markers ____________________ "KeyPlan_Marker": shxx=0 xxx = REQUEST ("WINDOW_DOOR_SHOW_DIM", "", shxx) add2 0, k_ un_id=1000 IF (shxx = 1 and key_mark_flag = 1) OR reqShowAddHotspotsForIS then !____________________________ Symbol marker __________________ is_flag = 0 if reqShowAddHotspotsForIS then if fl_symbol then is_flag = 0 else is_flag = 1 endif endif !************************** hotspot ************************** if a_>50 then elong = c_/2 else elong = fgd endif !************************************************* marker CALL "AC14_symbol_marker" PARAMETERS k_dia = k_dia, \ k_line = k_line, k_lenb = k_lenb, k_lena = k_lena, k_lenc = k_lenc, fsize_flag = fsize_flag, fsize = fsize, k_notation1 =k_notation1, n_offx1 =n_offx1, n_offy1 =n_offy1, k_notation2 =k_notation2, n_offx2 =n_offx2, n_offy2 =n_offy2, k_notation3 = k_notation3, n_offx3 =n_offx3, n_offy3 =n_offy3, k_notation4 =k_notation4, n_offx4 =n_offx4, n_offy4 =n_offy4, pen_text = pen_marker, pen_symbol = pen_marker, pen_fill = pen_marker, type_fill = IND(fill, "zone_hider_fill"), tfont = tfont, type_symbol = w_type_name, type_no = type_no_tx, globid = GLOB_ID, elong = elong, k_idflag = k_idflag, fill_flag=flag_zonehider, marker_type = marker_type, op_elv = WIDO_SILL_HEIGHT + ac_wall_elevation * (1 - sill_ref_wall), op_height = B, is_flag = is_flag endif !________________________ Regulation marker __________________ if reg_mark_flag = 1 and w_regulations<>"未定" and w_regulations<>"法規制なし" then CALL "AC14_regulation_marker" PARAMETERS r_dia = r_dia, \ r_lenb = r_lenb, r_lena = r_lena, pen_text = pen_marker, pen_symbol = pen_marker, pen_fill = mark_fill_pen, type_fill = mark_fill_type, fill_flag = mark_fill_flag, tfont = tfont, w_regulations = w_regulations, d_regulations = "", s_regulations = "", kaj_door_ident = kaj_door_ident, is_flag = is_flag endif end- パラメータを修正します。
[マーカーサイズ]を「420」に、[離れY]のサイズを「1000」に変更します。
関連ページ:
