明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1785|回复: 3

这样的要求,用LISP可以实现吗?怎么做?

[复制链接]
发表于 2004-9-14 17:41:00 | 显示全部楼层 |阅读模式
搞测绘的朋友可能都会遇到这样的事,就是因为点打得太密了,然后在图上找不到要找的点,甚至连点号也找不到,可能迭在一起了,我想能不能写个程序,我们直接输入点号,程序就能自动将该点号所对应的点用PL线连起来?这样就省心多了,请各位大哥帮帮忙好吗?谢谢了!提示:点与点号间的距离是固定的,他们的相对位置是这样的“点在点号前方,Y值相差0.5米,X值相差0.75米。”拜托大家帮帮忙了,谢谢!!!!!!!
发表于 2004-9-14 18:13:00 | 显示全部楼层
你用的什么软件?


如果是CASS那里好像有类似这们的功能!你是为了连图用还是有别的用途


我刚从事测绘,但这方面也感觉不方便了,我做了一些东西不知道能不能达到你的目的!
发表于 2004-9-14 19:01:00 | 显示全部楼层
试试下面的程序: (defun c:PL (/ str)
(VL-LOAD-COM) (setq AcadObject(vlax-get-acad-object) AcadDocument(vla-get-ActiveDocument AcadObject) mSpace(vla-get-ModelSpace AcadDocument) )

(fen)
(if (/= zb nil)
(command "_pline" zb))


)
(defun fen ()
(setq a (getstring "输入点号:"))
(setq sel (ssget "_x" '((0 . "TEXT"))))
(setq n (sslength sel))
(setq i 0)
(while (< i n)
(setq sf (entget (ssname sel i)))
(setq dianhao(cdr (assoc 1 sf)))
(if (= dianhao a)
(progn(setq zuobiao(cdr (assoc 10 sf)))
(setq zbX(-(car zuobiao) 0.75))
(setq zbY(+(car(cdr zuobiao)) 0.5))

(setq zb(list zbX zbY))
)
)
(setq i (+ i 1))
)

)
发表于 2012-3-31 20:55:21 | 显示全部楼层
上面一段程序很不错的,但前提是要没有重名的点号,其实我认为用坐标定位最好。具体方法是在EXCEL中将YX合并,中间用逗号分开,画的时候在CASS中粘进来就OK了。也可以用DATA文件直接粘过来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-25 05:15 , Processed in 0.168776 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表