正確的斜率可以將空間中鐵塔側面 '攤平' 在地表或是 2D 繪圖面,以利於放樣出實際長度。
基線是鐵塔放樣的依據,一切尺寸都從這裡開始,基線一旦錯了就一切前功盡棄。
鐵塔設計資料
梯形有上寬、下寬、垂高、主柱彎曲點偏移距離,就可以計算出斜率。
若像是繼塔或塔腳,只知道梯形上寬和垂高,該如何計算出下寬和斜率?
由基點的塔體部位屬性值,就可知道這個基點是UPPER、LOWER、幾米塔身或幾米繼塔!
主基點、子基點、腳基點與作用基點
用來區分不同的基線樣式,所以區分為主基點、子基點與腳基點。主基點用來產生鐵塔主結構,子基點用來產生繼塔結構、腳基點用來產生塔腳結構。
主基點圖塊名稱 at_BpMain.dwg
子基點圖塊名稱 at_BpSub.dwg
腳基點圖塊名稱 at_BpFoot.dwg
橫擔基點圖塊名稱 at_BpArm.dwg
可以有許多的主基點、子基點、腳基點與橫擔基點,由於需要區分它們之間的不同,所以其屬性裡會有基點名稱與基點類型。
但「作用」基點只有 1 個。
在茫茫線條海中要如何識別基點並找到作用基點?
在建立基點時,會將基點圖塊的 Handle 儲存到「 字典 」裡面,透過內部程式
(at_BpMainSet "<Handle>") 指定主基點
(at_BpSubSet "<Handle>") 指定子基點
(at_BpFootSet "<Handle>") 指定腳基點
(at_BpArmSet "<Handle>") 指定腳基點
(at_BpCurSet "<Handle>") 指定作用基點
也可以透過外部程式指定
atBpMainSet 指定主基點
atBpSubSet 指定子基點
atBpFootSet 指定腳基點
atBpArmSet 指定橫擔基點
atBpCurSet 指定作用基點
取得想要的基點,則可以透過
(at_BpMainGet) 取得主基點物件
(at_BpSubGet) 取得子基點物件
(at_BpFootGet) 取得腳基點物件
(at_BpArmGet) 取得橫擔基點物件
(at_BpCurGet) 取得作用基點物件
上面內部程式都會傳回物件的 Handle
可以用
(handent <Handle>) 取得元體
(at_bpGetAtts) 取得作用基點物件所有屬性
(at_bpGetPoint) 取得作用基點座標
(at_bpMainPoints) 取得作用主基點梯形的 9 個座標點
(at_bpSubPoints) 取得作用子基點梯形的 6 個座標點
(at_bpCurPoints) 取得作用基點梯形的座標點
主基點梯形的 9 個座標點:
p0---p1---p2
p3---p4---p5
p6---p7---p8
子基點梯形的 6 個座標點
p0---p1---p2
p3---p4---p5
與基點有關的:對稱作圖
(at_BpMirrorSet Boolean) 指定是否要自動畫出鏡射物件
(at_BpMirrorGet) 取得是否要畫出鏡射物件
atBpMirrorSet 指定是否要畫出鏡射物件
(at_MirrorPt 原始點p0 鏡射點ps 鏡射角度rot) 計算出鏡射點
(at_bpMirrorPt 原始點p0) 計算出以作用基點為垂直鏡射面的另一側座標點
繪圖
atBpMainAdd 新增主基點與基線,並將它指定為作用基點。
atBpMainMod 選取主基點產生基線,並將它指定為作用基點。
atBpSubAdd 新增子基點與基線,並將它指定為作用基點。繪出主基線
節號、節距與節型
多種高度的下塔身
多種高度的繼塔
多種高度的塔腳
塔腳的節型與塔身不同,需要另外處理。
鐵塔的戶口名簿
鐵塔各部位的組合關係應該可以參考戶口名簿記載的方式來處理。上下位置可視為兄弟姊妹關係,內外位置可視為父母子女關係。
本人姓名
父母姓名
兄姊姓名
子女姓名
弟妹姓名
在圖塊屬性內有一欄位「關係」,其值為 "本人姓名,父母姓名,兄/姊姓名,子/女姓名,弟/妹姓名"
上述概念是否適合於用來表述塔體各部位之關係?
塔體圖塊 BlockName = "BasePoint_Body" (圖層 = "基線")
屬性名稱 值 (圖層 = "Defpoints")
鐵塔名稱 = "PP-4JP"
塔體名稱 = "Lower"
接續自 = "Upper"
居內於 = " "
低降垂距 = " "
梯形資料 = "頂端寬度, 底端寬度, 垂直高度, 彎曲偏移, 一次斜, 二次斜"
基線Handle = "中軸線, 頂端線, 底端線, 左端線, 右端線"
節距 = "起始編號, 節距1, 節距2, 節距3, ..."
節型 = " "
主柱規格 = "L90x7,L100x7..."
接續方式 = "(無),外搭,外搭,內搭,對接..."
塔腳圖塊 BlockName = "BasePoint_Foot" (圖層 = "基線")
屬性名稱 值 (圖層 = "Defpoints")
鐵塔名稱 = "PP-4JP"
塔體名稱 = "10M FT"
接續自 = " "
梯形資料 = "頂端寬度, 底端寬度, 垂直高度, 彎曲偏移, 一次斜, 二次斜"
左米數 = "3,4,5,6"
左基線Handle = "中軸線, 頂端線, 左端線, 右端線"
右米數 = "4,5,6,7,8"
右基線Handle = "中軸線, 頂端線, 右端線, 左端線"
內部指令
(at_bpSetC handle) 指定作用基點
(at_bpGetC) 取得作用基點 RETURN <圖元名稱: 7ff4561618f0>
(at_bpGetAtts) 取得作用基點物件所有屬性
(at_bpGetPoint) 取得作用基點座標
(at_bpGetPoints) 取得作用基點梯形的6個座標點 RETURN lstPt
(at_bpGetPoint4) 取得作用基點梯形的4個座標點 RETURN lstPt
(at_isInPt4 pt p1 p2 p3 p4) 判斷點pt是否在四邊形(梯形)內部
(at_isInTower pt) 判斷點pt是否在四邊形(梯形)內部
(at_bpMirrorPt pt) 求出以基點為鏡射面的另一側座標點
(at_IsBothSet "1") 指定是否要畫出鏡射物件
(at_IsBothGet) 取得是否要畫出鏡射物件
外部指令
c:atBpMainAdd 新增主基點與基線,並將它指定為作用基點。
c:atBpMainMod 選取主基點產生基線,並將它指定為作用基點。
c:atBpSubAdd 新增子基點與基線,並將它指定為作用基點。
c:atBpSetC 指定作用基點。
c:atBpShow 顯示作用基點位置。
沒有留言:
張貼留言