作者suny999 (滿27篇了...)
看板Cad_Cae
標題[心得] AutoLisp 弧ARC切段並轉為聚合線Spline
時間Sat Jun 6 21:40:04 2009
今天畫橋墩時遇到一個問題,變斷面是圓弧ARC路徑擠出,
這樣送到3D Max會一片片的,不夠圓滑。
因為我CAD跟3D MAX不夠熟,
找不到指令可以圓滑化(viewres似乎沒用),
請教學長說要用divide切多段後用pline
手動連線--b,
一時受不了就寫了這個不知道有沒有用的小程式:
;_Split an Arc to n segments and join into a spline.
;_Created by Suny 2009.06.06
(
DEFUN c:ArcSplit(
/ arc ent nsg cen rad an0 an1 pia n ss)
(
SETQ arc (
CAR (
ENTSEL"\nSelect an arc to split:"))
nsg (
GETINT "\nHow many segments:")
ent (
ENTGET arc)
an0 (
CDR (
ASSOC 50 ent))
;beggin angle
an1 (
CDR (
ASSOC 51 ent))
;end angle
pia (
if(
> an0 an1)
;Piece of angle
(
/-(
- (
* 2 pi) (
- an0 an1)) nsg)
;beggin angle > end angle
(
/(
- an1 an0) nsg))
;end angle > beggin angle
ss (
SSADD) n
0)
(
REPEAT nsg
(
ENTMAKE (
LIST (
CONS 0 "ARC")(
ASSOC 10 ent)(
ASSOC 40 ent)
(
CONS 50(
+ an0(
* pia n)))(
CONS 51(
+ an0(
* pia(
1+ n))))))
(
SSADD (
ENTLAST) ss)
(
SETQ n (
1+ n)))
(
ENTDEL arc)
(
COMMAND "pedit" "m" ss
"" "y" "j" 0.0 "")
)
--
2009.06.21 修正當終點角度(ex:359度)大於起點角度(ex:20度)出錯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.192.153
※ 編輯: suny999 來自: 118.169.201.126 (06/21 19:11)