明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2982|回复: 10

请教高手:能否用lisp程序自动连线与自动注悉?

[复制链接]
发表于 2005-4-14 13:44:00 | 显示全部楼层 |阅读模式
已知n个点(假定N=5),点位有点号、坐标及标高,其展点的格式为:                                                                                                                                                                 “1,X1,100.12,200.12,10.30”;“2,X1,300.12,400.12,20.30”等等,后面还有n个点,姑且不论它有多少,属同一直线的都以X1作为标识;第二条直线则用X2作为标识,等等依些类,第N条直线就用XN。上述格式解释:1——点位点号;X1--作用就是能让lisp程序知道这两个点要连成一条直线;100.12,200.12是点位坐标;10.30是点位标高。现在本人的想法是:用lisp程序把标有X1的所有点用多义线连起来成为一条直线,标有X2作为另一条直线,当然标有XN的作为第N条直线。同时需要对每条直线注上数字,如第一条直线注记为M1,那第二条应为M2,依此递增,则第N条则是MN。数字要求与直线成90度,注记数字的位置与M的初始值须在交互方式下,人为指定。简言之就是LISP画一条直线,人工操作指定注记该直线的数字位置,完后程序继续往下画线,最好就是有一个选项,即让lisp询问用户,是手工一步步注记还是让lisp一次性自动完成所有的画线与数字注记。再进一步的祥细说明见上传的DWG文件。感谢您的阅读。

本帖子中包含更多资源

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

x
发表于 2005-4-14 15:54:00 | 显示全部楼层
本帖最后由 作者 于 2005-4-14 21:35:22 编辑

我已在5楼重新上传了程序! 这是data.TXT文件的数据,也是放在C:根目录下 60,X1,-19.45,666.606,-2.85
61,X1,-17.614,664.042,-2.29
62,X1,-12.384,662.55,-2.72
63,X1,-6.218,661.201,-2.67
64,X1,0.611,660.612,-1.51
65,X1,2.778,661.556,1.09
66,X2,-19.45,662.51,-3.85
67,X2,-17.614,659.946,-2.46
68,X2,-12.384,658.454,-2.18
69,X2,-8.565,654.5465,-2.71
70,X2,-1.736,653.958,-1.92
71,X2,0.431,654.902,2.09

 楼主| 发表于 2005-4-14 17:46:00 | 显示全部楼层
辛苦你啦。


我已经存下来,不过可能是我的方法不对,他显示:; 错误: AutoCAD 变量设置被拒绝: "clayer" "地质断面线"。不懂是什么原因。
 楼主| 发表于 2005-4-14 17:51:00 | 显示全部楼层
对了,还有一个忘记告诉你啦.数据格式已经改变啦.现在这个是把"X1"放在两个逗号之间啦。上一个的是放在后面。
发表于 2005-4-14 21:31:00 | 显示全部楼层
本帖最后由 作者 于 2005-4-15 8:09:01 编辑

现在基本上OK了,如有问题再指出。程序写得不太规范,应该可以再简练一些。



upload=gif]UploadFile/2005-4/2005414213143403.gif,viewFile.asp?ID=17666[/upload]




本帖子中包含更多资源

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

x
 楼主| 发表于 2005-4-14 23:20:00 | 显示全部楼层
谢谢,你真的很棒哦。编程速度很快。


我已经下载啦。试试看。有机会我也跟你学lisp哦。呵呵
 楼主| 发表于 2005-4-14 23:56:00 | 显示全部楼层
可能还是我不撑握方法,运行的时候显示说“输入一个基准线号(整数):1
; 错误: 参数类型错误: lselsetp nil。我是初学者,对LISP程序读不懂,我的数据格式为: 1,,-408.142,-162.498,-1.236,a或1,a,-408.142,-162.498,-1.236 这两种格式都试过啦,还是不行,还得麻烦阁下指正。
发表于 2005-4-15 08:11:00 | 显示全部楼层
我已经对5楼的程序修改过了,确实在取数据部份没有考虑周全,sorry! data.txt格式如下,放在c:根目录下 60,a,-19.45,666.606,-2.85
61,a,-17.614,664.042,-2.29
62,a,-12.384,662.55,-2.72
63,a,-6.218,661.201,-2.67
64,a,0.611,660.612,-1.51
65,a,2.778,661.556,1.09
66,b,-19.45,662.51,-3.85
67,b,-17.614,659.946,-2.46
68,b,-12.384,658.454,-2.18
69,b,-8.565,654.5465,-2.71
70,b,-1.736,653.958,-1.92
71,b,0.431,654.902,2.09
 楼主| 发表于 2005-4-15 18:39:00 | 显示全部楼层
没关系的。人家都说编写程序最头痛的时候就是在调试阶段,加上你还有你的工作要忙,所以这种情况可以理解。现在总是这样麻烦你,我都不好意思几多。你修改过后的那个程序。我已经下载并使用啦。不过好像还是出现问题.问题提示为:“命令: test
输入一个基准线号(整数):1
; 错误: 参数类型错误: lselsetp nil”
发表于 2005-4-15 19:16:00 | 显示全部楼层
kgd4510,如果你会用VLISP编译器的话,就可以自己调试一下,很容易找到问题出在哪儿了,至少我运行正常。出现的错误有可能是读取文件后取值不正确,这个可能是数据文件格式不对等等原因,你按照8楼的数据格式编写!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 10:25 , Processed in 0.192139 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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