如何修改
因此,我目前正在开发一个项目,在这个项目中,如果需要的话,我需要在3ds max上轻松编辑我所有的圆和圆形。问题是,我在这些CAD上有一些多段线,有超过100个点,这使得它们很难使用。
问题是:有没有办法修改非手动的点数?
看看杂草。lsp从未使用过它,但我认为它可以满足你的需求。
将dwg导入3ds Max时,在“导入选项”对话框中,可以通过设置焊接阈值来选择焊接附近的顶点。这有助于减少一些非常靠近的顶点。
导入dwg并挤出形状后,可以应用“ProOptimizer”修改器,并将每个对象上的多边形数减少任意百分比。
这正是我几个月来一直在寻找的!
非常感谢你! 我以前试过这个,但对于autoweld的结果有很多问题,至于优化器,尽管它确实有助于减少,但在保持足够形状的同时,它很难减少(对手机应用程序的)需求。 如果你的形状在Autocad中是一个多边形,那么你可以得到所有的顶点,然后用一些因子重新制作它,比如2.3,即每秒删除一个顶点。我们来看看put obj的坐标。或者只是用一个简单的制作一个新的。
虽然Weed-lisp例程对于减少多段线上的点数非常有用,但我不确定它对于需要对称的多边形之类的对象是否是一个好的解决方案。例如,一个有100个点的圆,除草例程肯定能够减少点的数量,但不能保证它会正确保持形状。它可能会在一侧删除更多点,在另一侧删除更少点,最终可能会出现一些不平衡的圆。如果由我决定,我会手动重新绘制多边形,以确保适当的对称性。 不确定发生了什么,但从这里丢失了代码。将再次重做。
请注意CMDactive崩溃Briscad。我会调查的。
; reduce polygon facets by AlanH OCT 2019
(defun c:polred ( / x R lst co-ord plent)
(setq plent (entsel "pick polygon"))
(if plent (setq co-ord (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car plent))))))
(setqR (getint "Enter reduction factor 2 3 4 etc"))
(setq x 0)
(setq lst '())
(setq lst (cons (nth x co-ord) lst))
(repeat(- (/ (length co-ord) R) 1)
(setq lst (cons (nth (setq x (+ x R)) co-ord) lst))
)
(setvar 'clayer "0") ; add your layer or else erase plent
;(command "erase" plent "")
(command "_pline")
(while (= (getvar "cmdactive") 1 )
(repeat (setq x (length lst))
(command (nth (setq x (- x 1)) lst))
)
(command "C")
)
)
(c:polred)
你有示例图吗?
你的PLDIET可能会更好。LSP和Express工具OVERKILL也会解决一些问题。图纸需要展平吗? 事实上,我甚至没有找到杂草。lsp一个,但当我搜索它时,这个是唯一的结果,效果很好
页:
[1]