三维UCS挤出组合乐趣
我正在尝试生成一个三维实体例程,其中结合了UCS 3点函数。前3个点控制ucs,以下点应由用户给定,必须进行挤出。最后一部分我无法完成。defun C:extucs()
(setq spt1(getpoint“\n指定UCS第一点”))
(setq spt2(getpoint“\n指定UCS第二点”)
(setq spt3(getpoint“\n指定UCS第三点”)
(命令“ucs”“3”spt1 spt2 spt3)
;;; ?? 在这里我要得到x点的数量
;;; ?? 这里从这些点绘制一条闭合样线
(命令“pline”暂停)
(命令“extrude”“p”pause pause“”);挤出此pline 也许是这样的
(defun c:extucs ( / pt pt_list spt1 spt2 spt3)
(if (and (setq spt1 (getpoint "\nSpecify UCS 1st point"))
(setq spt2 (getpoint "\nSpecify UCS 2nd point"))
(setq spt3 (getpoint "\nSpecify UCS 3rd point"))
)
(progn
(command "ucs" "3" spt1 spt2 spt3)
(while
(setq pt (getpoint "\nPick point: "))
(setq pt_list (cons pt pt_list))
)
(if pt_list
(progn
(command "_.pline")
(foreach pt pt_list (command pt))
(command "_C")
)
)
(command "_.extrude" "_L" "" "\\")
(command "ucs" "_P")
)
)
(princ)
)
希望有帮助
亨里克 请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
美好的Henrique,当拾取点绘制pline时,我认为需要立即显示点与点之间的线! 非常感谢。阿尔贝托。
我只是这样写代码,来回答OP请求
';;; ?? 在这里我要得到x点的数量
;;; ?? 在这里,从这些点绘制闭合样线'
我们可以只存储最后一个,使用命令pline,测试是否有新的ent,如果关闭,则挤出。。。
亨里克 谢谢
我的问题是列表的形成
它应该是spt1,spt2,(pt-x量),与spt3闭合
然后拔出闭合线
(defun c:extucs ( / pt pt_list spt1 spt2 spt3)
(if (and (setq spt1 (getpoint "\nPick 1st point (UCS)"))
(setq spt2 (getpoint "\nPick 2nd point (UCS)"))
(setq spt3 (getpoint "\nPick 3rd point (UCS)"))
)
(progn
(grdraw spt1 spt2 6 1)
(grdraw spt1 spt3 6 1)
(command "ucs" "3" spt1 spt2 spt3)
(while
(setq pt (getpoint "\nPick point: "))
(setq pt_list (cons pt pt_list))
)
(if pt_list
(progn
(command "_.pline")
(foreach pt pt_list (command pt))
(command "_C")
)
)
(command "_.extrude" "_L" "" "\\")
(command "ucs" "_P")
)
)
(princ)
) 不客气,赫拉默茨。
如果我理解正确,可能是这样的:
(defun c:demo (/ pt pt_list spt1 spt1w spt2 spt2w spt3 spt3w)
(if (and (setq spt1 (getpoint "\nSpecify UCS 1st point"))
(setq spt2 (getpoint "\nSpecify UCS 2nd point"))
(setq spt3 (getpoint "\nSpecify UCS 3rd point"))
)
(progn
(setq spt1w (trans spt1 1 0)
spt2w (trans spt2 1 0)
spt3w (trans spt3 1 0)
)
(command "ucs" "3" spt1 spt2 spt3)
(command "_.pline" (trans spt3w 0 1) (trans spt1w 0 1) (trans spt2w 0 1))
(while (setq pt (getpoint "\nNext point: "))
(command pt)
)
(command "_C")
(command "_.extrude" "_L" "" "\\")
(command "ucs" "_P")
)
)
(princ)
)
希望有帮助
亨里克 这是一个很大的进步,亨里克。你让我工作做得更快了! 很高兴它对你有用。
亨里克
页:
[1]