作者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)