明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1911|回复: 8

向各位老师请教lisp程序

[复制链接]
发表于 2003-11-15 22:32:00 | 显示全部楼层 |阅读模式
请问在lisp程序中,如何识别当前的图形是新图形(一个东西都没画)、有内容的图形、自己绘制的A类图形、自己绘制的B类图形等等,如何用lisp程序实现,急!!!急!!!!!!!

在此先谢谢了!!!!
发表于 2003-11-16 09:35:00 | 显示全部楼层
在命令行键入(ssget "x")回车,如果返回nil则表示没有画任何图,否则就是有图。
至于你的A类B类是怎么回事无从得知,现无法给你判断方法
 楼主| 发表于 2003-11-16 10:03:00 | 显示全部楼层
我们的图有二种,一个是电缆走向的示意图,一个是显示电缆结构的横断面图,都是挂在墙上的那种。
我在画这二种图时分别加了几个命令,我主要想判断一下当前打开的图是哪一种,是这一种图的命令可用,其它命令不可用。不然就乱了。
谢谢。
发表于 2003-11-16 11:36:00 | 显示全部楼层
问题是两种图到底有什么不同,从图元结构上。
不是说你能看出来两种图明显不同,电脑就能看出来的,你必须从内部数据库上来判断有什么不同。比如说,线型,层,颜色等等。
电脑是分不清走向示意还是横截面的。
再有,就是这里是CAD的论坛,大家都用CAD,但大家的专业各不相同,所以别人不一定能看明白你的专业用语。所以在这里提问,最好用CAD的通用语言。你说的挂在墙上的那种,我就不知道是哪种。。。
 楼主| 发表于 2003-11-16 11:51:00 | 显示全部楼层
老师:
能不能用这个思路,开始绘图时,自动在(0  0)点插入一个很小的标识文字,(也可是其它点),不影响打印,如就是字母“A”,在使用其它命令时,先自动读取(0  0)点的文字,根据文字内容判断是什么图,再决定命令是否执行。
只是这个过程的lisp程序我还不会编,还请各位老师帮忙,谢谢了!!!!!!!
发表于 2003-11-16 12:08:00 | 显示全部楼层
不用这样,给你两个文件,本来是给人写的加入版权用的。你也可以作为标识用,适用2000以上版本,要你自己先加载(vl-load-com)
标识文件:reg.vlx
函数reg
用法,如标识为A类(reg "A")

查询文件:com.vlx
函数com,返回标识"A"...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2003-11-16 13:35:00 | 显示全部楼层
老师您好:
我在使用(reg "LULULU")时
已提示“已将图纸标识为LULULU”,
而使用(COM)返回标识始终是"A",不知何故?
假如(COM)返回标识都是是"A",在实际使用中将没有意义。

老师:您能否将上面的两个函数的使用方法详细介绍一下,谢谢!
发表于 2003-11-16 14:19:00 | 显示全部楼层
其实很简单,还有很多别的方法。这里是用LDATA,下面这两个已经改正了
(defun reg(ty)
  (vlax-ldata-put "mydict" "mykey" ty T)
  (princ (strcat "已将图纸标识为" ty "\n"))
  (princ)
)
(defun com()
  (vlax-ldata-get "mydict" "mykey" nil T)
)
 楼主| 发表于 2003-11-17 22:12:00 | 显示全部楼层
试了一下很好用,谢谢老师!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 10:43 , Processed in 0.187872 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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