有没有“暂停”视图的方法
例如,lisp正在从单个线条中绘制复杂的形状——有没有一种方法可以在功能期间“暂停”显示,使完整的线条一次全部显示出来,而不是在屏幕上闪烁的每一行?非常感谢 你需要发布你正在使用的代码。 使用entmake(x)或ActiveX方法,而不是命令调用。 谢谢李,我认为这是正确的选择。
我是lisp新手,很少有应用程序会问这个问题,但目前我正在努力使用lisp,使我能够在AutoCad 2016中快速使用点云。
建模时,我通常使用3个视口,例如从侧视图切片云和从顶部调查。我希望能像cloudworx一样上下移动点云的裁剪,所以我提出了这个粗略的解决方案:
(defun c:crop (/ cor1 cor2); point cloud rectangular crop
(setq cor1 (getpoint "\nselect first corner:"))
(setq cor2 (getcorner cor1 "\nselect second corner:"))
(setq 2dcor1 (list (car cor1) (cadr cor1)))
(setq 2dcor2 (list (car cor2) (cadr cor2)))
(setq cloud (ssget "x" '((8 . "Cloud")))) ; point cloud have to be on the "Cloud" layer
(command "POINTCLOUDCROP" cloud 2dcor1 2dcor2 "inside")
(setq csd (- (cadr 2dcor2) (cadr 2dcor1)))
(princ)
)
(defun c:fs () ;forward step
(setq cloud (ssget "x" '((8 . "Cloud"))))
(command "POINTCLOUDCROP" cloud "r")
(setq 2dcor1 (list (car 2dcor1) (+ (cadr 2dcor1) csd)))
(setq 2dcor2 (list (car 2dcor2) (+ (cadr 2dcor2) csd)))
(command "POINTCLOUDCROP" cloud 2dcor1 2dcor2 "inside")
(princ)
)
(defun c:bs () ;backward step
(setq cloud (ssget "x" '((8 . "Cloud"))))
(command "POINTCLOUDCROP" cloud "r")
(setq 2dcor1 (list (car 2dcor1) (- (cadr 2dcor1) csd)))
(setq 2dcor2 (list (car 2dcor2) (- (cadr 2dcor2) csd)))
(command "POINTCLOUDCROP" cloud 2dcor1 2dcor2 "inside")
(princ)
)
(defun c:csd (/ a) ;change the slice step distance
(setq a (getreal "\nnew cloud slice value:"))
(setq csd a)
(princ)
)
(princ)
在这个lisp(正在进行的工作)的许多问题中,有一个是最后一次裁剪的可见删除,这可能会使检查扫描数据变得困难。关于如何解决这个问题或在哪里寻找可能的解决方案,有什么指导吗?ObjectARX似乎是一种选择,但从我的新手角度来看,这可能有点过头了。 欢迎来到CADTutor HideQ。
如果你要在论坛上发布代码,你应该阅读这个链接。
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南 你好,爸爸,
谢谢你的链接。我有点内疚,尤其是因为我不能编辑这篇文章
我将来会使用这些指导原则。 为您修复。
#有时在某些浏览器中不起作用,只需手动操作即可
Your Code Here=
Your Code Here
页:
[1]