统一网名
发表于 2024-9-10 10:18:17
zilong136 发表于 2024-9-10 01:45
你没听懂我的意思,我是说如何写一个LISP,可以一键生成这些矩形小方格
[*](defun c:tt (/ dzl dzl2 hcs hdzl jj jx1c jx1k jx2c jx2k lsqd p0 qd scs sdzl)
[*](setq
[*] jx1c 240 jx1k 240 ;矩形区域的长、宽
[*] jx2c 4jx2k 4 ;画小矩形的长、宽
[*] jj 20 ;间距
[*]);该部分可以更改为对话框
[*](setq dzl2 0)
[*](setq hdzl (+ jx2c jj))
[*](setq sdzl (+ jx2k jj))
[*](setq hcs (fix (/ jx1c hdzl)))
[*](setq scs (fix (/ jx1k sdzl)))
[*](setq p0 (getpoint "\n点选起点:"))
[*](repeat scs
[*] (setq lsqd (list(car p0)(-(cadr p0)dzl2)))
[*] (setq dzl 0)
[*] (repeat hcs
[*] (setq qd (list(+(car lsqd)dzl)(cadr lsqd)))
[*] (huajuxing qd jx2c jx2k)
[*] (setq dzl (+ dzl hdzl))
[*] )
[*] (setq dzl2 (+ dzl2 sdzl))
[*])
[*])
[*]
[*](defun huajuxing(qd cd kd / djd )
[*](setq djd (list(+(car qd)cd)(-(cadr qd)kd)));左上 右下画矩形
[*](command "rectang" "non" qd "non" djd);画矩形
[*])
qazxswk
发表于 2024-9-10 16:26:36
可以试试这个。
http://bbs.mjtd.com/thread-72956-1-1.html
zilong136
发表于 2024-9-10 23:52:02
统一网名 发表于 2024-9-10 10:18
[*](defun c:tt (/ dzl dzl2 hcs hdzl jj jx1c jx1k jx2c jx2k lsqd p0 qd scs sdzl)
[*](setq
[ ...
我是说这个代码可以根据任意给定的矩形自己来调整这些小方格:
1.指定大矩形对角两点
2.设置xy两个方向小方格的数目以及每小格的间距
3.自动生成标题所示图形。
zilong136
发表于 2024-9-11 01:05:20
qazxswk 发表于 2024-9-10 16:26
可以试试这个。
http://bbs.mjtd.com/thread-72956-1-1.html
这个可以,谢谢。
zilong136
发表于 2024-9-11 11:32:22
kzd2004 发表于 2024-9-10 08:07
已上传附件,你看一下。
你要上传源文件啊
zilong136
发表于 2024-9-11 11:35:09
统一网名 发表于 2024-9-10 10:18
[*](defun c:tt (/ dzl dzl2 hcs hdzl jj jx1c jx1k jx2c jx2k lsqd p0 qd scs sdzl)
[*](setq
[ ...
1、只需要设置XY两个方向矩形数目及间距
2、大矩形满铺。
kwok
发表于 2024-9-11 11:52:41
zilong136 发表于 2024-9-11 11:35
1、只需要设置XY两个方向矩形数目及间距
2、大矩形满铺。
感觉象是要这样
kzd2004
发表于 2024-9-11 11:54:32
kwok 发表于 2024-9-11 11:52
感觉象是要这样
其实还有一个办法,填充也是一个思路。
zilong136
发表于 2024-9-11 11:54:36
本帖最后由 zilong136 于 2024-9-11 11:56 编辑
kwok 发表于 2024-9-11 11:52
感觉象是要这样
对的,这样的话一次性生成就完事了,不用去等分画线,再修剪:handshake,求分享
zilong136
发表于 2024-9-11 11:57:52
统一网名 发表于 2024-9-9 08:28
(defun c:tt (/ a b ename i len lst pts ss dx1)
(setq ss (ssget '((0 . "LINE"))))
( ...
这个一键打断很好用,能不能再搞一个一键合并?