明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3152|回复: 12

初学lisp,请教明细表问题,请指点

  [复制链接]
发表于 2004-2-1 14:47:00 | 显示全部楼层 |阅读模式
初学lisp,感觉不知从哪学起。请教各位一个问题:


现有图纸,要把明细表中的所有的“,”都改为另一个符号,请问用lisp怎么实现。


我的思路是读取明细表,替换内容,然后再写进去,但不知在程序上怎么实现,请指点指点,不胜感谢!
发表于 2004-2-2 09:11:00 | 显示全部楼层
替换text内容 用法:ent——对象名 sym1——要被替换的符号 sym2——替换符号 (defun Replace(ent sym1 sym2 / ents str)
(setq ents (entget ent))
(setq str (cdr (assoc 1 ents)))
(setq str (vl-string-translate sym1 sym2 str))
(setq ents (subst (cons 1 str) (assoc 1 ents) ents))
(entmod ents)
)
 楼主| 发表于 2004-2-2 11:23:00 | 显示全部楼层
先谢过meflying兄的帮忙。


还有问题是,你写的只是中间替换的部分,那如果提取明细表内容,和把修改的重填到明细表的部分又是怎么写?


另外,若我知道某个ARX文件定义了一个命令,我可以用什么方法知道该命令所定义的变量呢?
发表于 2004-2-2 11:36:00 | 显示全部楼层
只要你得到一个对象的对象名,代入我的函数即可,不需要再填入了,这个函数就是直接修改对象的。


第二个问题应该是不可以的
发表于 2004-2-3 11:05:00 | 显示全部楼层
你用cht,不用编程了。
发表于 2004-2-4 14:00:00 | 显示全部楼层
有这个命令 FIND
 楼主| 发表于 2004-2-4 14:25:00 | 显示全部楼层
请教楼上,cht是乜东东?


谢谢呆兄,我昨日看书时也找到了这个命令。试过不错。


但现在的问题是,我们的cad软件是国内基于r14开发的,与它的pdm系统可以集成。我们作图时的明细表是用命令而且从数据库可以选取物料,问题是我用find这个命令替换了字符后,再想用他们的命令修改明细表内容时,对话框中的内容没有被替换,而且用“重填明细表”的命令后返回的明细表也是没有被修改的。我都不知道他们的信息是存在哪里的,请各位高手帮忙。
发表于 2004-2-5 12:00:00 | 显示全部楼层
cht 是完全版R14特有的 用处很大的 有时间的时候你可以自己试试!


FIND只能修改字符的内容 也就是只能修改群码“1”


你所说的明细表可能是软件公司自己重新添加了一组新的群码 当然不能该了 要想改 必须知道该内容的群码
 楼主| 发表于 2004-2-5 12:40:00 | 显示全部楼层
请教楼上,菜鸟问题:群码是什么来的。


能获取该群码吗?还有若在DXF文件中找到内容的位置,能从dwg中翻译出来吗?
 楼主| 发表于 2004-2-9 12:01:00 | 显示全部楼层
请教meflying兄:


我在r14调用你的程序的时候,好像解释不了vl-string-translate这个函数,这个函数是否不适用于R14呢?另外,在R14中有类似的替换字符串的函数吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-19 16:36 , Processed in 0.159985 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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