我试过Superflat LSP,效果很好。我还跑得太快了,去掉了相互重叠的线条。超平面在XY平面上工作,我得到了我的塔模型的宽面,但我也想得到YZ平面上的窄面。
我已经在下面粘贴了Supflat代码。如果我想在YZ平面上展平模型,可以将“list 0 0 n”更改为“list n 0 0”吗?
或者我会做些什么来将X坐标展平到0.0
- (defun c:Supflat (/ ss ssObj j)
- (vl-load-com)
- (vlax-map-collection
- (vla-get-Layers
- (vla-get-ActiveDocument
- (vlax-get-acad-object)))
- '(lambda (x) (vla-put-lock x :vlax-false)))
- (if (setq ss (ssget "X" (list (cons 410 (getvar "CTAB")))))
- (progn
- (setq ssObj (mapcar 'vlax-ename->vla-object
- (mapcar 'cadr (ssnamex ss))) j 0)
- (foreach Obj ssObj
- (foreach n '(1e99 -1e99)
- (if (vl-catch-all-error-p
- (vl-catch-all-apply
- '(lambda (x)
- (vla-move x (vlax-3d-point (list 0 0 0))
- (vlax-3d-point (list 0 0 n))))
- (list Obj)))
- nil
- (setq j (1+ j)))))
- (princ (strcat "\n" (rtos (/ j 2.0)) " Objects Flattened.")))
- (princ "\n<!> No Objects Found <!>"))
|