對於用「pline」命令建立多段線物件,使用者可使用「pedit」命令來進行修改。該命令呼叫方式為:
工具欄:「modify ii(修改 ii)」→ 選單:【modify(修改)】→【object(物件)】→【polyline(多段線)】
命令列:pedit(或別名pe)
呼叫該命令後,系統首先提示使用者選擇多段線:
pedit select polyline or [multiple]:
使用者可選擇「multiple」選項來選擇多個多段線物件,否則只能選擇乙個多段線物件。如果使用者選擇了直線(line)、圓弧(arc)物件時,系統將提示使用者是否將其轉換為多段線物件:
do you want to turn it into one?
enter an option [close/join/width/edit vertex/fit/spline/decurve/ltype gen/undo]:
各項具體作用如下:
(1) 「close(閉合)」:閉合開放多段線。注意,即使多段線起點和終點均位於同一點上,autocad仍認為它是開啟,而必須使用該選項才能進行閉合。對於已閉合多段線,則該項被「open(開啟)」所代替,其作用相反。
(2) 「join(合併)」:將直線、圓弧或多段線物件和與其端點重合其他多段線物件合併成乙個多段線。對於曲線擬合多段線,在合併後將刪除曲線擬合。
(3) 「width(寬度)」:指定多段線寬度,該寬度值對於多段線各個線段均有效。
(4) 「edit vertex(編輯頂點)」:用於對組成多段線各個頂點進行編輯。使用者選擇該項後,多段線第乙個頂點以「×」為標記,如果該頂點具有切線,則還將在切線方向上繪有箭頭。系統進一步提示選擇如下:
enter a vertex editing option
[next/previous/break/insert/move/regen/straighten/tangent/width/exit] :
以上各選項作用見表7-4。
表7-4 「edit vertex」選項用法 選項 作用
next(下乙個) 將標記「×」移到下乙個頂點處
previous(上乙個)將標記「×」移到上乙個頂點處
break(打斷) 儲存當前標記「×」頂點位置,並提示使用者選擇其他頂點,確定後選擇「go」選項來刪除這兩個指定頂點之間部分
insert(插入) 在標記「×」頂點後新增乙個新頂點
move(移動) 修改標記「×」頂點位置
regen(重生成) 重新生成多段線
straighten(拉直) 操作過程同「break」選項,但操作結果是將兩個指定頂點之間部分用一條直線段代替,而不是刪除
tangent(切向) 修改標記「×」頂點切線方向,該方向將用於以後曲線擬合。
width(寬度) 修改標記「×」頂點後面線段起點寬度和端點寬度
exit(退出) 退出「edit vertex」選項,返回主選項。
(5) 「fit(擬合)」:在每兩個相鄰頂點之間增加兩個頂點,由此來生成一條光滑曲線,該曲線由連線各對頂點弧線段組成。曲線通過多段線所有頂點並使用指定切線方向。
如果原多段線包含弧線段,在生成樣條曲線時等同於直線段。如果原多段線有寬度,則生成樣條曲線將由第乙個頂點寬度平滑過渡到最後乙個頂點寬度,所有中間寬度資訊都將被忽略。
(6) 「spline(樣條曲線)」:使用多段線頂點作控制點來生成樣條曲線,該曲線將通過第乙個和最後乙個控制點,但並不一定通過其他控制點。這類曲線稱為b樣條曲線。autocad 可以生成二次或三次樣條擬合多段線。
(7) 「decurve(非曲線化)」:刪除擬合曲線和樣條曲線插入多餘頂點,並將多段線所有線段恢復為直線,但保留指定給多段線頂點切線資訊。但對於使用「break」、「trim」等命令編輯後樣條擬合多段線,不能使其「非曲線化」。
(8) 「ltype gen(線型生成)」:如果該項設定為「on」狀態,則將多段線物件作為乙個整體來生成線型;如果設定為「off」,則將在每個頂點處以點劃線開始和結束生成線型。注意,該項不適用於帶變寬線段多段線。
「pedit」命令還可用於對三維多段線和三維網格修改操作,關於三維多段線和三維網格請參見第19章和第20章。
利用CAD VBA批量插入多段線
sub aa 定義乙個執行過程 dim arr as double 定義乙個空的動態陣列 m 4 隨便定乙個值 nn array 7,13,15,23 定義乙個陣列,有幾個代表最終生成幾條線,數字加1 表示線的節點 for mn 0 to ubound nn 動態定義陣列寬度 n nn mn 給數賦...
objectArx實現 點與閉合多段線的位置關係
點與閉合多段線的位置關係 射線法 從給定點出發,沿著x軸正方向或者負方向做一條射線 射線可能跟多邊形沒有交點 計算射線跟多邊形的交點數量,如果是奇數個交點,在內部 偶數個交點在外部。處理下點就在多邊形的頂點上的特例。參考objectarx vc 開發基礎與例項教程p254 author wangho...
objectarx 得到有寬度的多段線的輪廓
使用到的命令是 wmfout和 import以及pedit 步驟 1.先通過 wmfout和 import得到輪廓線,得到的輪廓線是乙個塊。方法如下 ssname 選擇的有寬度的多段線 static acdbobjectid wmfoutin ads name ssname return acdbo...