AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論]請問如何將聚合線轉回單線段啊? Io15011 [討論]請問如何將聚合線轉回單線段啊? 2020-310 [討論]請問如何將聚合線轉回單線段啊? Oiu15010 [討論]請問如何將聚合線轉回單線段啊? 2020-211 [討論]請問如何將聚合線轉回單線段啊? Oo-2-110 [討論]請問如何將聚合線轉回單線段啊? BPl3tjj

[討論]請問如何將聚合線轉回單線段啊?

+2
logic7bmw
tzung1017
6 posters

向下

[討論]請問如何將聚合線轉回單線段啊? Empty [討論]請問如何將聚合線轉回單線段啊?

發表 由 tzung1017 2012-04-19, 01:39

今天收到客戶的圖,來的圖弧都是聚合線
導致要修改尺寸相當麻煩(也量不出來原本的弧的大小)
請問有辦法可以解決嗎?
tzung1017
tzung1017
初級會員
初級會員

文章總數 : 23
年齡 : 42
來自 : 彰化
職業 : 沖壓模具設計
愛好 : 看電視
個性 : 內向
使用年資 : 1年
使用版本 : 2005
積分 : 1
經驗值 : 4200
威望值 : 12
注冊日期 : 2010-06-19
藍鵲91號
串連貼紙成功 男 天秤座 馬

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 回覆:[問題]請問如何將聚合線轉回單線段啊?

發表 由 logic7bmw 2012-04-19, 09:08

分解(explode簡碼x)即可,只要對方不是用直線畫弧,用X都可以讓各種線條原形畢露喔.
[討論]請問如何將聚合線轉回單線段啊? 72564703這是分解的符號
以下為原廠說明:
要單獨修改複合物件的元件時,請將其分解。可以分解的物件包括圖塊、聚合線、面域等。
任何已分解物件的顏色、線型與線粗可能變更。其他結果會根據您所分解的複合物件類型的不同而不同。
注意事項:如果您使用的是腳本或 ObjectARX® 功能,則每次僅能分解一個物件。


logic7bmw 在 2012-04-19, 11:15 作了第 1 次修改
logic7bmw
logic7bmw
中級會員
中級會員

文章總數 : 121
年齡 : 44
來自 : 台中新社
職業 : 繪圖員
愛好 : 玩線上遊戲
個性 : 陽光
使用年資 : 邁入第五年啦~~
使用版本 : 2006/2013
積分 : 8
經驗值 : 4413
威望值 : 347
注冊日期 : 2012-01-18
經典問與答讀者 藍鵲333號
串連貼紙成功 男 獅子座 蛇

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 回復: [討論]請問如何將聚合線轉回單線段啊?

發表 由 droaaa 2012-04-19, 11:11

猜測你收到的圖應該是由3D物件所轉出來的2D圖
所以弧及圓 應該找不到中心點

我的解決方法是 自己再畫一個弧(A)
任意在圓或弧中 選3點 重新畫一次
此時就可以得到圓心及半徑 就可以量出來囉


https://www.youtube.com/watch?v=qVEwFIc_syo&feature=player_embedded
droaaa
droaaa
高級會員
高級會員

文章總數 : 494
年齡 : 38
來自 : 宜蘭
職業 : 畫畫圖
愛好 : 看動漫
個性 : 低調
使用年資 : 新手初學
使用版本 : 2008
積分 : 20
經驗值 : 8305
威望值 : 2157
注冊日期 : 2010-09-10
經典問與答讀者 藍鵲140號
2012聚會勳章 男 天蝎座 狗

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 回復: [討論]請問如何將聚合線轉回單線段啊?

發表 由 ttv_01 2012-04-20, 00:12

之前也有遇過這問題~
原來還有這一招呀!!
又多學一招了 感動
ttv_01
ttv_01
初級會員
初級會員

文章總數 : 145
年齡 : 32
來自 : 彰化
職業 : 倉管
愛好 : 發呆
個性 : 低調
使用年資 : 新手初學
使用版本 : AUTOCAD2008
積分 : 4
經驗值 : 4609
威望值 : 288
注冊日期 : 2011-08-16
藍鵲234號
女 金牛座 蛇

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 回復: [討論]請問如何將聚合線轉回單線段啊?

發表 由 tzung1017 2012-04-20, 09:02

謝謝兩位熱心的教導
不過,來的圖是聚合線真的相當麻煩
每次要把線接回去總是浪費相當多的時間
不知道有沒有什麼程式可以快速的把聚合線接回原本的弧或圓
tzung1017
tzung1017
初級會員
初級會員

文章總數 : 23
年齡 : 42
來自 : 彰化
職業 : 沖壓模具設計
愛好 : 看電視
個性 : 內向
使用年資 : 1年
使用版本 : 2005
積分 : 1
經驗值 : 4200
威望值 : 12
注冊日期 : 2010-06-19
藍鵲91號
串連貼紙成功 男 天秤座 馬

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 回復: [討論]請問如何將聚合線轉回單線段啊?

發表 由 k2g853 2012-06-11, 13:36

"JOIN" 這個指令可以將所有的轉成polyline 然後結合在一起!!
k2g853
k2g853
一般會員
一般會員

文章總數 : 7
年齡 : 33
來自 : 台中
職業 : 測量員
愛好 : 學習
個性 : 隨和
使用年資 : 初學
使用版本 : 初學
經驗值 : 3473
威望值 : 0
注冊日期 : 2012-04-13
男 白羊座 龍

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 弧形聚合線轉為單一圓弧, 3D 轉進來要先轉成 Autocad 的 2D 聚合線. (VBA練習)

發表 由 shackle_2005 2021-01-10, 18:54

Option Explicit

Public tm As AcadModelSpace ' 設 tm 簡化名稱圖紙空間
Public tu As AcadUtility
Public pi As Double

Public Sub pline_to_arc()

On Error Resume Next

ThisDrawing.SendCommand "ucs" & vbCr & "w" & vbCr
ThisDrawing.SendCommand "undo" & vbCr & "be" & vbCr
pi = 3.141592 / 180

Set tm = ThisDrawing.ModelSpace: Set tu = ThisDrawing.Utility

Dim pline As AcadLWPolyline
Dim coor As Variant
Dim start_p(0 To 2) As Double
Dim end_p(0 To 2) As Double
Dim line_obj As AcadLine
Dim p2 As Variant
Dim p3 As Variant
Dim p4 As Variant
Dim int_p As Variant
Dim p5(0 To 2) As Double
Dim pick_p As Variant
Dim arc_obj As AcadArc

tu.GetEntity pline, pick_p, "請選取 2D 聚合線 : "

If Err Then Exit Sub

coor = pline.Coordinates ' 取出聚合線的起點與終點

start_p(0) = coor(0): start_p(1) = coor(1)
end_p(0) = coor(UBound(coor) - 1): end_p(1) = coor(UBound(coor))

Set line_obj = tm.AddLine(start_p, end_p): line_obj.Update ' 起點與終點畫一條線

p2 = tu.PolarPoint(start_p, line_obj.Angle, line_obj.Length / 2) ' 取直線的中點

p3 = tu.PolarPoint(p2, line_obj.Angle + 90 * pi, line_obj.Length * 10) ' 畫一條與直線垂直的長線
p4 = tu.PolarPoint(p2, line_obj.Angle + 270 * pi, line_obj.Length * 10)

line_obj.Delete

Set line_obj = tm.AddLine(p3, p4): line_obj.Update

int_p = line_obj.IntersectWith(pline, acExtendNone) ' 長線跟聚合線求交點用來三點畫弧

If UBound(int_p) = 2 Then p5(0) = int_p(0): p5(1) = int_p(1)

line_obj.Delete

' 三點畫弧
ThisDrawing.SendCommand "arc" & vbCr & two_p_str(start_p) & vbCr & two_p_str(p5) & _
                                                                    vbCr & two_p_str(end_p) & vbCr

Set arc_obj = tm.Item(tm.Count - 1): arc_obj.color = 3: arc_obj.Update

pline.Delete

ThisDrawing.SendCommand "undo" & vbCr & "e" & vbCr

End Sub

Private Function two_p_str(p_variant As Variant) As String

On Error Resume Next

two_p_str = Trim(Str(p_variant(0))) & "," & _
       Trim(Str(p_variant(1))) '& "," & _
       Trim(Str(p_variant(2)))
       
End Function
附件
[討論]請問如何將聚合線轉回單線段啊? Attachment
pline_to_arc.zip 您無權下載這里的附件。(5 Kb) 下載 0 次
shackle_2005
shackle_2005
初級會員
初級會員

文章總數 : 217
年齡 : 50
來自 : 台中
職業 : 程式設計
愛好 : 音樂
個性 : 隨和
使用年資 : 10 年
使用版本 : 2013
積分 : 3
經驗值 : 5490
威望值 : 322
注冊日期 : 2010-09-20
男 獅子座 豬

回頂端 向下

[討論]請問如何將聚合線轉回單線段啊? Empty 3d 轉進來的聚合線轉成 Autocad 的 2d 聚合線 ( VBA 練習 )

發表 由 shackle_2005 2021-01-10, 20:36

Option Explicit

Public tm As AcadModelSpace ' 設 tm 簡化名稱圖紙空間
Public tu As AcadUtility
Public pi As Double

Public Sub three_two_pline()

On Error Resume Next

ThisDrawing.SendCommand "ucs" & vbCr & "w" & vbCr
ThisDrawing.SendCommand "undo" & vbCr & "be" & vbCr
pi = 3.141592 / 180

Set tm = ThisDrawing.ModelSpace: Set tu = ThisDrawing.Utility

Dim ent As AcadObject
Dim points() As Double
Dim exp As Variant
Dim pline As AcadLWPolyline
Dim i_count As Integer
Dim line_obj As AcadLine
Dim start_p As Variant
Dim end_p As Variant
Dim pick_p As Variant

tu.GetEntity ent, pick_p, "請選取 3d 聚合線 : "

If Err Then Exit Sub

' 顯示 3d 轉進來的聚合線物件名稱是 AcDb2dPolyline, 不是 Autocad 的 2d 輕量線(LWpolyline) AcDbPolyline.
' MsgBox pline.ObjectName

exp = ent.Explode: ent.Delete ' 炸開 3d 聚合線

ReDim points((UBound(exp) + 1) * 2 + 1) As Double ' 重新制定新 2d 聚合線需要的點數資料

For i_count = 0 To UBound(exp) ' 把炸開的每一條線叫出來

   Set line_obj = exp(i_count)

   line_obj.color = i_count + 1: line_obj.Update

   start_p = line_obj.StartPoint: end_p = line_obj.EndPoint
   
   ' 依順序把線的起點終點座標鋪上去 2d 聚合線需要的點數資料
   points(i_count * 2) = start_p(0): points(i_count * 2 + 1) = start_p(1)
   points((i_count + 1) * 2) = end_p(0): points((i_count + 1) * 2 + 1) = end_p(1)
   
   line_obj.Delete
Next i_count

Set pline = tm.AddLightWeightPolyline(points) ' 產生新的 2d 聚合線
   
pline.color = 1: pline.Update
   
ThisDrawing.SendCommand "undo" & vbCr & "e" & vbCr

End Sub
附件
[討論]請問如何將聚合線轉回單線段啊? Attachment
3d_2d_pline.zip 您無權下載這里的附件。(11 Kb) 下載 0 次
shackle_2005
shackle_2005
初級會員
初級會員

文章總數 : 217
年齡 : 50
來自 : 台中
職業 : 程式設計
愛好 : 音樂
個性 : 隨和
使用年資 : 10 年
使用版本 : 2013
積分 : 3
經驗值 : 5490
威望值 : 322
注冊日期 : 2010-09-20
男 獅子座 豬

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]請問如何將聚合線轉回單線段啊? Uos15010 [討論]請問如何將聚合線轉回單線段啊? BPl3tjj [討論]請問如何將聚合線轉回單線段啊? Ziao1510 [討論]請問如何將聚合線轉回單線段啊? Oo-2-110 [討論]請問如何將聚合線轉回單線段啊? Oooo-110 [討論]請問如何將聚合線轉回單線段啊? 2020-211