选择一个点并放置坐标
你好我在一个有很多门窗的项目中工作。
每个配电盘都有某种关闭警报。
看看公寓。com地图PDF文件1。pdf(我不想大声说出我的信息中有链接)。
我在建筑物外插入了一个街区,并从街区到设计图纸插入了一条线。
有两个不同的块,一个用于新的数据仓库,另一个用于现有的数据仓库。
我的问题是,我想把d/w的坐标放入块中。
我的想法是这样的:
“拾取直线端点”以获取坐标。
“拾取块”用于更新属性“ykoordina”和“xkoordina”。
我花了很多时间在互联网上,试图找出如何做到这一点,请帮助我。
/埃里克 您想要作为属性的是块本身的插入点吗?或者不同块的坐标?我只是想澄清一下 看看pdf文件。
我更新了它,使它更容易看到我遇到了什么。
方块是矩形的,这条线只是一条用来标记方块所属的女巫门的线。
/埃里克 你想要的Lisp程序就像李为我写的Lisp程序一样,也许我可以帮你。但是我找不到pdf文件。 你好
我还没有大声说要在我的信息中使用链接。
看看parment。com/PDF/1。pdf
我会尝试附加一个图像。
/埃里克
你想要块旁边的坐标,作为“多行文字”或“文字”?
好的,埃里克,我现在明白了-我会看看我能为你做些什么 试试这个(未经测试,但我认为它有效…)
(defun c:texb ()
(setq ed (getpoint "\nPick end point of line: "))
(while (/= ed nil)
(setq x (car ed))
(setq y (cadr ed))
(setq bp (getpoint "Base point of coordenates : "))
(command "text" "j" "tl" (list bp) "" "" (strcat "X=" (rtos x 2 3)))
(command "text" "j" "bl" (list bp) "" "" (strcat "Y=" (rtos y 2 3)))
(setq ed (getpoint "\nPick end point of line: "))
)
(princ)
) 试试这个:
{未测试}
(defun c:Co2Blk(/ pt bEnt bObj)
(vl-load-com)
(if (and (setq pt (getpoint "\nSelect Coordinate: "))
(setq bEnt (car (entsel "\nSelect Block to Update: ")))
(eq "AcDbBlockReference"
(vla-get-ObjectName
(setq bObj (vlax-ename->vla-object bEnt))))
(eq :vlax-true
(vla-get-HasAttributes bObj)))
(foreach att(vlax-safearray->list
(vlax-variant-value
(vla-getAttributes bObj)))
(cond ((eq "XKOORDINAT"
(vla-get-TagString att))
(vla-put-TextString att
(rtos (car pt))))
((eq "YKOORDINAT"
(vla-get-TagString att))
(vla-put-TextString att
(rtos (cadr pt))))))
(princ "\n<!> Incorrect Selection <!>"))
(princ))
哈哈,忘了我的Lisp程序,我没读对那部分
页:
[1]
2