明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1386|回复: 3

[求助]着急!

[复制链接]
发表于 2004-3-9 14:08:00 | 显示全部楼层 |阅读模式
我想写一小程序,在直线上插入一个阀门,要求阀门按规格(直径、尺寸)大小插入,并携带法兰、垫片,图纸画完后能统计阀门、法兰、垫片(甚至螺栓、螺母)的数量、规格。


阀门、法兰、垫片可用*.dat文件提供数据,如valve.dat:


Z45T-10 100 230


Z45T-10 200 330


Z45T-10 300 420


Z41H-16C 100 300


Z41H-16C 200 400


Z41H-16C 300 500


第一列为阀门型号,第二列为阀门直径,第三列为长度。


不知如何将*.dat的数据如何取出,传递给阀门块,请各位老师指教方法,能给实例,就更为感谢了!


谢谢!
发表于 2004-3-9 17:29:00 | 显示全部楼层
取出容易,后面的传递给阀门块是怎么回事?如何传递?你最好给出一个你的块。。。
发表于 2004-3-9 19:24:00 | 显示全部楼层
程序编写的好累呀!!!!我的思路是: 1、在插入阀门块的时候,绑定阀门块为XDATA假定其名称为"XDATA_famen",其数据就用阀门类型对应的字符串。 2、统计的时候:在全图搜集统计"XDATA_famen",的集合,然后分别统计每个类型的阀门个数,理论上阀门用的螺栓、螺母都是固定的,所以应该好统计的。 不过我最讨厌ACAD的数据绑定可,在论坛里看看吧? (哈哈,其实是我基本功不扎实,使用绑定扩展数据的函数得看帮助,偷懒) 下面是读取数据的东西 (defun 读取阀门数据1(阀门类型 数据文件 / 返回数据 fh y 成功标志)
(setq fh (open 数据文件 "r") 成功标志 t)
(while (and (setq x (read-line fh)) 成功标志)
(progn
(setq y (字串分解 x " "))
(if (= (car y) 阀门类型)
(setq 成功标志 nil
返回数据 y))))
(close fh)
返回数据
) (defun 读取阀门数据2( 数据文件 / 返回数据 fh y)
(setq fh (open 数据文件 "r") 返回数据 nil)
(while (setq x (read-line fh))
(progn
(setq y (字串分解 x " "))
(setq 返回数据 (append 返回数据 (list i)))
))
(close fh)
返回数据
) (defun 字串分解 (字串 分割符号 / 返回数据 n s i)
(setq 返回数据 nil)
(setq n (strlen 字串))
(if (n < 1)
(setq 返回数据 (list 字串))
(progn
(setq i 1 s "")
(while (< i n)
(progn
(setq x (substr s i 1) i (1+ i))
(if (/= x 分割符号)
(setq s (strcat s x))
(if (/= s "")
(setq 返回数据 (append 返回数据 (list s))
s "")
))))
(if (/= s "")
(setq 返回数据 (append 返回数据 (list s))
s ""))
))
返回数据
)
 楼主| 发表于 2004-3-10 10:36:00 | 显示全部楼层
首先,向楼上两位老师表示衷心地感谢!我画了一个阀门的图形,还望进一步指教。


我想块最好以程序写,将*.dat的有关数据取出并传递,在图形中产生的块,有相关属性,能够进行材料统计。


如此问题,解决对工程绘图会产生非常大的帮助!


----------------


尽管不容易,我将更努力,


不敢谈偷懒,着急是真的,


好人在帮助,成功短距离。


谢谢!!


90976_cn@sina.com.cn
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 21:31 , Processed in 0.170807 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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