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.
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ioaoe110[討論]請問倒圓角時,要如何連續倒不同r的圓角 2020-310[討論]請問倒圓角時,要如何連續倒不同r的圓角 Oiu15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 2020-211[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ia15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao10[討論]請問倒圓角時,要如何連續倒不同r的圓角 Uos15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 BPl3tjj[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ziao1510
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 Oo-2-110[討論]請問倒圓角時,要如何連續倒不同r的圓角 Zuoiy_10[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao11[討論]請問倒圓角時,要如何連續倒不同r的圓角 Iyb_1510[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe1-111[討論]請問倒圓角時,要如何連續倒不同r的圓角 Uos15011[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe2da10[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe2da11[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe10

[討論]請問倒圓角時,要如何連續倒不同r的圓角

3 posters

向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 stanleycheng 周一 7 10月 2013 - 21:51

各位大大:

請問 一下在倒圓角時,能否簡單快速的倒不同R的圓角.就是不用再輸入 R  再給R值,

而是直接輸入R值就能連續倒不同R的圓角,試了好久 找了好多資料都無法解決.

底下圖 是一個簡單的矩形導4個不同R 的圓角
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Azaoe10


stanleycheng 在 周一 7 10月 2013 - 22:34 作了第 3 次修改
stanleycheng
stanleycheng
一般會員
一般會員

文章總數 : 13
年齡 : 52
來自 : 台南
職業 : 一般
愛好 : 電腦
個性 : 普通
使用年資 : 新手
使用版本 : 新手
經驗值 : 3940
威望值 : 0
注冊日期 : 2013-10-02
男 天蝎座 豬

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周一 7 10月 2013 - 21:53

給個 sample 吧!! 因為我只會寫程式不會畫圖!! thanks

____________________________________________________________________________________
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ioaoe110 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Zuoiy_10 [討論]請問倒圓角時,要如何連續倒不同r的圓角 2020-211 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao11 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Iyb_1510
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao10 [討論]請問倒圓角時,要如何連續倒不同r的圓角 BPl3tjj.png [討論]請問倒圓角時,要如何連續倒不同r的圓角 Ziao1510 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Oo-2-110 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Oooa_110
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周一 7 10月 2013 - 22:18

我看到了, sorry....... 不用回應. ( 有很多個矩形, 都要這樣倒角嗎 ?? )
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周一 7 10月 2013 - 22:37

OK 了, 我會的就是寫一個小 VBA 程式免費提供, 參考一下!!
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 Tiger&蘋果爸 周一 7 10月 2013 - 22:44

shackle_2005 寫到:OK 了, 我會的就是寫一個小 VBA 程式免費提供, 參考一下!!
AutoCAD預設需要使用者自行更改,再不然就得靠程式解決!
竊喜 

____________________________________________________________________________________
👉[優惠]慶祝AutoCAD顧問十六週年の感謝有你(點我)👈
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Sesa2011 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Youtub11 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Oiea2011 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Oe20011 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Fbi20011 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Line2011
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 21138
年齡 : 48
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照/吸貓
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2022
經驗值 : 88800
威望值 : 16967
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周一 7 10月 2013 - 23:46

再修正一次, 按 Enter 跟上次一樣半徑......... ( 修正版, 按 0 結束程式!! Orz.......... )
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周二 8 10月 2013 - 15:41

Public tm As AcadModelSpace ' 定義 tm, tu 為公共變數
Public tu As AcadUtility
Public Const pi = 3.141592 / 180 ' 直接用 pi 代表
Public ent_set As AcadSelectionSet ' 大部份程式都會用到物件選擇集

Option Explicit

Public Sub alternate_fillet()

'ThisDrawing.SendCommand "undo" & vbCr & "be" & vbCr ' 設 undo, be, e 可以快速恢復圖面原狀
ThisDrawing.SendCommand "ucs" & vbCr & "w" & vbCr ' 設為世界座標

On Error Resume Next

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

Dim fillet_radius As Integer
Dim first_obj As AcadObject
Dim second_obj As AcadObject
Dim pick_p As Variant
Dim inputString As String

fillet_radius = 10

Do While True

Err.Clear

fillet_radius = tu.GetReal("請輸入半徑 : " & " (預設半徑_確定(Enter) = " & _
fillet_radius & " / 請輸入 0 結束程式) : ................")
If Err Then
If InStr(Err.Description, "使用者輸入") <> 0 Then Err.Clear
End If

If fillet_radius = 0 Then Exit Do

tu.GetEntity first_obj, pick_p, "請選擇第一個物件!!........."

If Err Then GoTo one_more_time

tu.GetEntity second_obj, pick_p, "請選取第二個物件!!........."

If Err Then GoTo one_more_time

ThisDrawing.SendCommand "fillet" & vbCr & "r" & vbCr & Trim(Str(fillet_radius)) & vbCr & _
handle_ent_obj(first_obj) & vbCr & handle_ent_obj(second_obj) & vbCr
one_more_time:

Loop

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

End Sub

Private Function handle_ent_obj(entObj As AcadEntity) As String
Dim entHandle As String
entHandle = entObj.Handle
handle_ent_obj = "(handent " & Chr(34) & entHandle & Chr(34) & ")"
End Function

____________________________________________________________________________________
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ioaoe110 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Zuoiy_10 [討論]請問倒圓角時,要如何連續倒不同r的圓角 2020-211 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao11 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Iyb_1510
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao10 [討論]請問倒圓角時,要如何連續倒不同r的圓角 BPl3tjj.png [討論]請問倒圓角時,要如何連續倒不同r的圓角 Ziao1510 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Oo-2-110 [討論]請問倒圓角時,要如何連續倒不同r的圓角 Oooa_110
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周二 8 10月 2013 - 15:55

改好了, 原式碼把 Acad 全改成 Zcad 就可以, 但反應有點不一樣.........

另外補充

1. 可以把程式放進"載入應用程式", 這樣每次開啟軟體就會自動載入這個程式 alternate_fillet.

2. 在"自定工具"可以產生新的工具列, 例如叫"VBA"用來製作按鈕點擊就可以叫 VBA 程式.

3. 在 VBA 工具列應該可以隨便拉一個指令來製作按鈕.

4. 再把按鈕裏面的指令改成 ^C^C (command "vbarun" "alternate_fillet")

5. 這樣點擊這個按鈕應該就可以執行程式.

6. Thanks.
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周二 8 10月 2013 - 16:12

' *** 新修正比較簡單版 alternate_fillet **********

Public tm As ZcadModelSpace
Public tu As ZcadUtility

Option Explicit

Public Sub alternate_fillet()

ThisDrawing.SendCommand "ucs" & vbCr & "w" & vbCr ' 設為世界座標

On Error Resume Next

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

Dim fillet_radius As Integer
Dim first_obj As ZcadObject
Dim second_obj As ZcadObject
Dim pick_p As Variant
Dim inputString As String
Dim line_obj As ZcadLine

Do While True
 
  Err.Clear
 
  fillet_radius = tu.GetReal("請輸入半徑 : (請輸入 0 結束程式) ")
   
  If fillet_radius = 0 Then Exit Do

  tu.GetEntity first_obj, pick_p, "請選擇第一個物件!!........."
   
  If Err Then GoTo one_more_time
       
  first_obj.Highlight True
 
  tu.GetEntity second_obj, pick_p, "請選取第二個物件!!........."
 
  If Err Then GoTo one_more_time
 
  second_obj.Highlight True

  ThisDrawing.SendCommand "fillet" & vbCr & "r" & vbCr & Trim(Str(fillet_radius)) & vbCr & _
                  handle_ent_obj(first_obj) & vbCr & handle_ent_obj(second_obj) & vbCr
 
one_more_time:
 
Loop

first_obj.Highlight False: second_obj.Highlight False

End Sub

Private Function handle_ent_obj(entObj As ZcadEntity) As String
Dim entHandle As String
entHandle = entObj.Handle
handle_ent_obj = "(handent " & Chr(34) & entHandle & Chr(34) & ")"
End Function
附件
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Attachment
zwcad_alternate_fillet_002.zip 您無權下載這里的附件。(8 Kb) 下載 5 次
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 stanleycheng 周二 8 10月 2013 - 22:34

好厲害 真的做到了, 只是一定要是線段才能做,請問能聚合線時也能做嗎?

不然遇到聚合線圖型每次一定要分解後 然後再串接.
stanleycheng
stanleycheng
一般會員
一般會員

文章總數 : 13
年齡 : 52
來自 : 台南
職業 : 一般
愛好 : 電腦
個性 : 普通
使用年資 : 新手
使用版本 : 新手
經驗值 : 3940
威望值 : 0
注冊日期 : 2013-10-02
男 天蝎座 豬

回頂端 向下

[討論]請問倒圓角時,要如何連續倒不同r的圓角 Empty 回復: [討論]請問倒圓角時,要如何連續倒不同r的圓角

發表 由 shackle_2005 周三 9 10月 2013 - 14:35

' 還好我以前有處理過一次 ZWcad, 但覺得在 VBA 上不太好處理, 可能是所謂一分錢一分貨吧!! 請測試看看吧!! Thanks.

Public tm As ZcadModelSpace
Public tu As ZcadUtility

Option Explicit

Public Sub alternate_fillet()

ThisDrawing.SendCommand "ucs" & vbCr & "w" & vbCr ' 設為世界座標

On Error Resume Next

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

Dim radius_str As String
Dim fillet_radius As Integer
Dim first_obj As ZcadObject
Dim second_obj As ZcadObject
Dim pick_p As Variant
Dim inputString As String
Dim line_obj As ZcadLine
Dim second_radius_str As String

Do While True
 
  Err.Clear
 
  radius_str = tu.GetString(False, "請輸入半徑或 [聚合線(P), 結束(0) : ")
   
  radius_str = UCase(Trim(radius_str))
   
  If radius_str = "P" Then
     second_radius_str = tu.GetString(False, "請輸入聚合線倒圓角的半徑 [結束(0)]")
     fillet_radius = second_radius_str
  Else
     fillet_radius = radius_str
  End If
     
  If fillet_radius = 0 Then Exit Do

  tu.GetEntity first_obj, pick_p, "請選擇第一個物件!!........."
   
  If Err Then GoTo one_more_time
       
  first_obj.Highlight True
 
  If radius_str <> "P" Then
 
     tu.GetEntity second_obj, pick_p, "請選取第二個物件!!........."
 
     If Err Then GoTo one_more_time
 
     second_obj.Highlight True
  End If
 
  If radius_str = "P" Then
     
     ThisDrawing.SendCommand "fillet" & vbCr & "p" & vbCr & handle_ent_obj(first_obj) & vbCr
     
  Else
     ThisDrawing.SendCommand "fillet" & vbCr & "r" & vbCr & Trim(Str(fillet_radius)) & vbCr & _
                  handle_ent_obj(first_obj) & vbCr & handle_ent_obj(second_obj) & vbCr
  End If
 
one_more_time:
 
Loop

first_obj.Highlight False: second_obj.Highlight False

End Sub

Private Function handle_ent_obj(entObj As ZcadEntity) As String
Dim entHandle As String
entHandle = entObj.Handle
handle_ent_obj = "(handent " & Chr(34) & entHandle & Chr(34) & ")"
End Function
附件
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Attachment
zwcad_alternate_fillet_003.zip 您無權下載這里的附件。(9 Kb) 下載 4 次
shackle_2005
shackle_2005
初級會員
初級會員

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

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ioaoe110[討論]請問倒圓角時,要如何連續倒不同r的圓角 2020-310[討論]請問倒圓角時,要如何連續倒不同r的圓角 Oiu15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 2020-211[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ia15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao10[討論]請問倒圓角時,要如何連續倒不同r的圓角 Uos15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 BPl3tjj[討論]請問倒圓角時,要如何連續倒不同r的圓角 Ziao1510
[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe15010[討論]請問倒圓角時,要如何連續倒不同r的圓角 Oo-2-110[討論]請問倒圓角時,要如何連續倒不同r的圓角 Zuoiy_10[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aizyao11[討論]請問倒圓角時,要如何連續倒不同r的圓角 Iyb_1510[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe1-111[討論]請問倒圓角時,要如何連續倒不同r的圓角 Uos15011[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe2da10[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe2da11[討論]請問倒圓角時,要如何連續倒不同r的圓角 Aoe10