ARCHICADの壁終端ツールの「壁終端1」というものがあります。
こちらを複合構造に配置すると
仕様により壁と終端との境界に線が出ます。
こちらはデフォルトでは消せない仕様になっております。
「壁終端1」はGDLで作成されているものになります。
この「壁終端1」のオブジェクトを開くときは「壁終端1」を選択している状態で
ショートカットキー「ctrl+shift+o」で開くことができます
その中のスクリプト2Dを開いてください。
デフォルトの線を生成している部分のスクリプトは
! ==============================================================================
! THE END-CAP
! ==============================================================================
! --- flags for side contour lines ---
penUpperSideContour = 0
penLowerSideContour = 0
penUpperInnerContour = 0
ltUpperInnerContour = gs_cont_lt
penLowerInnerContour = 0
ltLowerInnerContour = gs_cont_lt
if not(isComposite) then
penUpperSideContour = gs_cont_pen
penLowerSideContour = gs_cont_pen
penUpperInnerContour = gs_cont_pen
penLowerInnerContour = gs_cont_pen
else
if alwaysLine or abs(gs_fill_type - WALL_SKINS_PARAMS[iLeftmost][SKIN_FILL]) > EPS then
penLowerSideContour = gs_cont_pen
penLowerInnerContour = gs_cont_pen
else
if thickFirst > WALL_SKINS_PARAMS[iLeftMost][SKIN_THICKNESS]-EPS then
if abs(wallIncl) < EPS then
penLowerInnerContour = gs_cont_pen
endif
if (firstTrapType = 0 or firstTrapType = 2) and WALL_SKINS_PARAMS[iLeftmost][SKIN_THICKEN_TRAPEZOID] < 1-EPS then
penLowerInnerContour = gs_cont_pen
endif
endif
endif
if useWallPen and (abs(thickFirst - WALL_SKINS_PARAMS[iLeftmost][SKIN_THICKNESS]) < EPS) then
penLowerInnerContour = WALL_SKINS_PARAMS[iLeftmost][SKIN_LOWER_LINE_PEN]
ltLowerInnerContour = WALL_SKINS_PARAMS[iLeftmost][SKIN_LOWER_LINE_TYPE]
endif
if alwaysLine or abs(gs_fill_type - WALL_SKINS_PARAMS[iRightmost][SKIN_FILL]) > EPS then
penUpperSideContour = gs_cont_pen
penUpperInnerContour = gs_cont_pen
else
if thickSecond > WALL_SKINS_PARAMS[iRightmost][SKIN_THICKNESS]-EPS then
if abs(wallIncl) < EPS then
penUpperInnerContour = gs_cont_pen
endif
if (secTrapType = 0 or secTrapType = 2) and WALL_SKINS_PARAMS[iRightmost][SKIN_THICKEN_TRAPEZOID] < 1-EPS then
penUpperInnerContour = gs_cont_pen
endif
endif
endif
if useWallPen and (abs (thickSecond - WALL_SKINS_PARAMS[iRightmost][SKIN_THICKNESS]) < EPS) then
penUpperInnerContour = WALL_SKINS_PARAMS[iRightmost-1][SKIN_LOWER_LINE_PEN]
ltUpperInnerContour = WALL_SKINS_PARAMS[iRightmost-1][SKIN_LOWER_LINE_TYPE]
endif
endif
if gs_fill_pen < 1 then
gs_fill_pen = 1
endif
! --- the 3 rectangles ---
fillType = 1 ! cut first
set fill 0
for i = 1 to 2
call "SkinRect" PARAMETERS startX = thickCap, startY = yWallStart,
endX = length, endY = yWallStart + thickFirst,
innerRadius = r0, outerRadius = r0 + WALL_THICKNESS,
incAngle = wallIncl, trapType = firstTrapType,
fillPen = gs_fill_pen, fillBGPen = gs_back_pen,
fillType = fillType,
bLocalFill = bLocalFill,
bFitToSkinFill = bFitToSkinFill,
bChangeFitToSkinFillOrient = 1,
bCircularDistortion = 1,
endLinePen = penLowerSideContour, endLineLineType = gs_cont_lt, endLineCont = 0,
bottomLinePen = penLowerInnerContour, bottomLineLineType = ltLowerInnerContour, bottomLineCont = 0,
topLinePen = gs_cont_pen, topLineLineType = gs_cont_lt, topLineCont = 1
call "SkinRect" PARAMETERS startX = 0, startY = yWallStart,
endX = thickCap, endY = yWallEnd,
innerRadius = r0, outerRadius = r0 + WALL_THICKNESS,
incAngle = wallIncl, trapType = 1,
fillPen = gs_fill_pen, fillBGPen = gs_back_pen,
fillType = fillType,
bLocalFill = bLocalFill,
bFitToSkinFill = bFitToSkinFill,
bChangeFitToSkinFillOrient = 0,
bCircularDistortion = 0,
startLinePen = gs_cont_pen, startLineLineType = gs_cont_lt, startLineCont = 1,
bottomLinePen = gs_cont_pen, bottomLineLineType = gs_cont_lt, bottomLineCont = 1,
topLinePen = gs_cont_pen, topLineLineType = gs_cont_lt, topLineCont = 1
call "SkinRect" PARAMETERS startX = thickCap, startY = thickSecFromBeg,
endX = length, endY = yWallEnd,
innerRadius = r0, outerRadius = r0 + WALL_THICKNESS,
incAngle = wallIncl, trapType = secTrapType,
fillPen = gs_fill_pen, fillBGPen = gs_back_pen,
fillType = fillType,
bLocalFill = bLocalFill,
bFitToSkinFill = bFitToSkinFill,
bChangeFitToSkinFillOrient = 1,
bCircularDistortion = 1,
endLinePen = penUpperSideContour, endLineLineType = gs_cont_lt, endLineCont = 0,
bottomLinePen = gs_cont_pen, bottomLineLineType = gs_cont_lt, bottomLineCont = 1,
topLinePen = penUpperInnerContour, topLineLineType = ltUpperInnerContour, topLineCont = 0
fillType = 0 ! then fill
set fill gs_fill_type
next i
赤く強調した部分のスクリプトで壁と終端との境界ラインを生成しております。
この部分を
endLinePen = 0,
こちらに書き換えることで終端の線は生成されなくなります。
スクリプトを編集した後は名前を付けて保存して、何かあった時のためにデフォルトを残すようにしてください。
コメント
0件のコメント
記事コメントは受け付けていません。