depgfdepgf
发表于 2021-9-6 08:45:50
大佬,第一个有框的边框是间距的一半,可以修改成和间距一样不?
lxl217114
发表于 2021-9-6 08:59:19
不错的分享
有个建议,层板 等分如果觉得数量多了或者少了,或者接着输入数值等分,满意了回车才确定生成。
小毛草
发表于 2021-9-6 09:37:10
可以动态观察变化,就好,好像以下动态等分代码一样:
;_仿sketchup动态复制程序
(defun c:ddc (/ p1 p2 s e cn a1 d1 ns cnn)
;__________________
(defun ttt (ss n / m)
(setq ee e
ns (ssadd)
)
(while (setq ee (entnext ee))
(setq ns (ssadd ee ns))
)
(command "erase" ns "")
(command "copy" ss "" "m" "non" p1)
(if (member (substr n (strlen n)) '("/" "*"))
(progn
(setq m 0)
(repeat (atoi n)
(setq m (1+ m))
(cond
((= "/" (substr n (strlen n)))
(command "non"(mapcar '(lambda (x y) (+ x (* m (/ (- y x) (atof n))))) p1 p2))
)
((= "*" (substr n (strlen n)))
(command "non"(mapcar '(lambda (x y) (+ x (* m (- y x)))) p1 p2))
)
)
)
)
(command "non" (setq p2 (polar p1 a1 (atof n))))
)
(command)
)
;__________________
(princ "\n动态复制程序")
(princ "\n选择要复制的物体:")
(setq s (ssget))
(setq p1 (getpoint "\n复制的起点:"))
(command "undo" "be" "line" p1 p1 "" )
(setq e (entlast) )
(command "copy" s "" "non" p1 pause)
(setq p2 (getvar "lastpoint")
a1 (angle p1 p2)
d1 (distance p1 p2)
)
(setq cn "1*")
(while cn
(ttt s cn)
(initget 128)
(princ "\n输入坐标=复制终点 输入数值=修改间距 ")
(princ "\n输入数值n并以 / 结束=间距内等分n次复制 输入数值n并以 * 结束=按间距复制n次 ")
(setq cnn (getpoint "\n请按提示输入<退出>:"))
(if (= 'LIST (type cnn))
(setq p2 cnn
a1 (angle p1 p2)
d1 (distance p1 p2)
)
(setq cn cnn)
)
)
(entdel e)
(command "undo" "e")
(princ)
)
cghdy
发表于 2021-9-6 10:27:00
谢谢分享,很好用的功能
Sonnenblumen
发表于 2021-9-6 13:53:08
感谢分享,学习了
qianyi0710
发表于 2021-9-6 18:15:30
kkq0305 发表于 2021-9-6 02:45
(defun mkrec (pt n a h a1 h1 k1 k2)
(if k1
(if k2
下载,来,谢谢。
erlong
发表于 2021-9-8 10:04:17
膜拜大佬,谢谢分享
森林狼
发表于 2023-11-24 16:24:13
谢谢楼主的分享。。。
zilong136
发表于 2023-12-2 06:59:14
用这个来画门窗是真的舒服;P
清水白粥
发表于 2023-12-17 19:28:18
谢谢楼主的分享。。。。