矩形inste的选择
尊敬的各位:,我得到了一个lisp代码,可以在矩形的两个角内生成所需的行和列。但我需要一个变化,它应该要求选择矩形,而不管矩形是在直线位置还是在倾斜位置
(提示“此程序用于配电灯”)
(提示“\n START COMMAND by:----DIL-->”)
(定义C:IL()
(SETVAR“CMDECHO”0)
(setq os(getvar“osmode”))
(setvar“osmode”0)
(SETQ P1(GETPOINT“\n输入第一个点:”)
(SETQ P3(GETPOINT“\n输入第二个点:”)
(SETQ BB1(cdr(assoc 2(entget(car(entsel“\n Select Block”)))))))
(setq x1(车辆p1))
(setq y1(car(cdr p1)))
(setq x3(p3车))
(setq y3(car(cdr p3)))
(setq p2(列表x1 y3))
(setq p4(列表x3 y1))
(setq disx(距离p1 p4))
(setq disy(距离p1 p2))
(SETQ NX(GETINT“\n X DIR的数量”)
(SETQ XXN(/disx(*NX 2)))
(SETQ DS1(*XXN 2))
(SETQ NY(GETINT“\n Y方向数”)
(SETQ YYN(/disy(*NY 2)))
(SETQ DS2(*YYN 2))
(setq xx1(+(汽车p1)XXN))
(setq yy1(+(car(cdr p1))YYN))
(setq pp2(列表xx1 yy1))
(命令“-layer“m”m-FIRE-SYMB-P“c”2”)
(命令“INSERT”BB1 pp2“”“”)
;(命令“ARRAY”“L”“”“R”NY NX DS2 DS1)
(if(eq NX 1)(命令“ARRAY”“L”“”“R”NY NX DS2))
(if(eq NY 1)(命令“ARRAY”“L”“”“R”NY NX DS1))
(if(AND(/=NX 1)(/=NY 1))(命令“ARRAY”“L”“”“R”NY NX DS2 DS1))
(setvar“osmode”操作系统)
(PRIN1)
(PRIN1)
(提示“\n”)
(提示“\n创建人:”)
(提示“\n*******M.SAIED。******”)
(普林斯)
);德芬
也许一个简单的答案是尝试使用UCS,这将设置角度,然后运行lisp。 谢谢你,先生 您可以尝试绘制不在直线或倾斜位置的矩形(Lee-Mak解决方案)
然后根据你的惯例分配灯杆
(见附件) 很确定这不是我的代码。。。
;_____________________credit: ronjonp______________________
(defun ASvector (pt: color /L L- c1 c2 *1 *2 *3 *4 *5 *6
*7 *8 *9 *10 *11 *12)
.....
页:
[1]