讨论维度驱动i
请参考下图我想只有李可以实现 这是为了什么?。。。我通常画一些我不想修改的东西,然后对它们进行尺寸标注,就这样。。。如果有什么事情做错了,我会从错误的事情开始重复这个过程。。。我打赌我能比上面贴的修改示例更快地完成这项工作。。。 强大的
这里有一个简单的例子。
;;;author : BDYCAD
;;;2005-03-18
(defun c:tt(/ BLB EP ESPL N-EP N-SP NEW-T SD SD-DXF SEA SEB SP SS1 SS2 SS3)
(setq SD (entsel "\nChoose dimension:"))
(if SD
(PROGN
(SETQ SD-DXF (ENTGET (CAR SD)))
(WHILE (NOT (wcmatch (CDR (ASSOC 0 SD-DXF)) "*DIM*"))
(setq SD (entsel "\nChoose dimension:"))
(SETQ SD-DXF (ENTGET (CAR SD))))
(SETQ SP (CDR (ASSOC 13 SD-DXF))
EP (CDR (ASSOC 14 SD-DXF))
ESPL (DISTANCE SP EP)
SEA (ANGLE SP EP)
SEB (ANGLE EP SP)
NEW-T (getdist "\nNew value:"))
(while (eq nil NEW-T)
(setqNEW-T (getdist "\nNew value:")))
(if NEW-T
(progn
(setq BLB (* 0.5 (abs (-NEW-T ESPL))))
(if (> ESPL NEW-T )
(setq N-SP (POLAR SP SEA BLB)
N-EP (POLAR EP (+ PI SEA) BLB))
(setq N-SP (POLAR SP SEB BLB)
N-EP (POLAR EP (+ PI SEB) BLB))
)
(setvar "osmode" (logior (getvar "osmode") 16384))
(setvar "cmdecho" 0)
(vl-cmdf "_.undo" "_group")
(SETQ SS1 (SSGET "C" (POLAR SP (+ PI (* 0.25 PI)) 0.4)(POLAR SP (* 0.25 PI) 0.4))
SS2 (SSGET "C" (POLAR EP (+ PI (* 0.25 PI)) 0.4)(POLAR EP (* 0.25 PI) 0.4))
)
(IF SS1
(COMMAND "STRETCH" (SSGET "C" (POLAR SP (+ PI (* 0.25 PI)) 0.4)(POLAR SP (* 0.25 PI) 0.4))
""SP N-SP))
(IF SS3
(COMMAND "STRETCH" (SSGET "C" (POLAR EP (+ PI (* 0.25 PI)) 0.4)(POLAR EP (* 0.25 PI) 0.4))
""EP N-EP))
(vl-cmdf "_.undo" "_end")
(setvar "osmode" (logand (getvar "osmode") 49151))
(PRINC"\nComplete!")))
)
)
(princ)
)
这是内置在AutoCAD中的参数化尺寸。
是的,参数化尺寸可以,但不方便。我确信OP的演示没有使用参数尺寸。
我很想听听参数化尺寸有多不方便。它们与常规维度一样易于应用。 不方便=不知道如何使用。 如果你不知道如何使用它,那就意味着你从未尝试过。
它们太棒了,尤其是动态方块。可以非常强大。 我的意思是“相对”,尺寸约束+几何约束。不是吗?
页:
[1]