块Co或需要Autolisp
大家好早上好:)我希望我的工作尽快完成,所以我需要你的帮助。我有一个矩形的基础块
我把它和边界@4.572 c/c放在一起,做邻接角和边
我想要5个点,该基脚的x和y坐标1)基脚中心坐标2)点a
3) 点b 3)点c 4)点d和该输出
以excle格式列出,我附上了dwg u研究它
如果有任何程序或AUTOLISP通过按顺序选择基脚来在excel中提供所有五个坐标
我还附加了excel文件输出,应该与excel类似
尽你最大的努力,请做到这一点
谢谢
哈什哈德:)
SAM.zip 只是一张纸条。如果您有一个插入点,并且知道基础块的大小和旋转,您可以使用数学来计算这些点。 没有人能做到这一点 你是在写代码还是在找人帮你做这项工作? 我认为很多人都能写这样的代码,一个简单、无聊的代码。
没有人希望它写下来,花15分钟。。。试试看,你会发现*。与图形位于文件夹中的同名csv文件。在MS Excel中打开它。。。
(defun c:bord(/ oldI cBl cDxf iPt rAn cStr fVar
pt1 pt2 pt3 pt4 *error*)
(defun *error*(msg)
(if fVar(close fVar))
(princ)
); end of *error*
(if(not bord:i)(setq bord:i 1))
(setq oldI bord:i
bord:i(getint
(strcat "\nSpecify first number <"
(itoa bord:i) ">: "))
fVar(open(strcase(strcat(getvar "DWGPREFIX")
(getvar "DWGNAME") ".csv")) "a")
); end setq
(if(null bord:i)(setq bord:i oldI))
(while T
(if
(and
(setq cBl(entsel(strcat "\nPick foot <"
(itoa bord:i) "> or Esc to Quit > ")))
(equal(cons 2 "FOOTING TYPE-1")
(assoc 2(setq cDxf(entget(car cBl)))))
); end and
(progn
(setq iPt(cdr(assoc 10 cDxf))
rAn(cdr(assoc 50 cDxf))
pt1(polar iPt(+ rAn(angtof "120.4655449167164" 0)) 0.9861541463877346)
pt2(polar iPt(+ rAn(angtof "59.53445509597224" 0)) 0.9861541463877346)
pt3(polar iPt(+ rAn(angtof "300.4655449294050" 0)) 0.9861541463877346)
pt4(polar iPt(+ rAn(angtof "239.5344550891135" 0)) 0.9861541463877346)
cStr(strcat(itoa bord:i)
";" (rtos(car iPt)2 4) ";" (rtos(cadr iPt)2 4)
";" (rtos(car pt1)2 4) ";" (rtos(cadr pt1)2 4)
";" (rtos(car pt2)2 4) ";" (rtos(cadr pt2)2 4)
";" (rtos(car pt3)2 4) ";" (rtos(cadr pt3)2 4)
";" (rtos(car pt4)2 4) ";" (rtos(cadr pt4)2 4)
); end strcat
bord:i(1+ bord:i)
); end setq
(write-line cStr fVar)
); end progn
(princ "\n<!>This isn't 'FOOTING TYPE-1' block <!> ")
); end if
); end while
(princ)
); end of c:bord 我的2美分
~'J'~
fot。拉链 首先谢谢你,我检查并告诉你
谢谢
哈沙德
页:
[1]