乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 144|回复: 9

这样的公差lisp怎么编啊(版主及lisp开发看看)

[复制链接]

23

主题

81

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2004-6-8 07:49:00 | 显示全部楼层 |阅读模式
由于经常标公差,但是现在有的几个lisp的标注都是那种写入性质的,就是不会 随着值的大小调整的
                                                                                                                                                                 现在想作个lisp,利用群代码来获得值的大小,然后实现如图中的公差标注,分子分母样式的公差,那样的话文件体积较小
                                                                 标注样式是用的不爽的啊,就是镶嵌到文字编辑框里面的,我见过arx的公差标注不过还是不尽人意,也就是公差是得自己查表输入太烦啊
回复

使用道具 举报

23

主题

81

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2004-6-8 08:53:00 | 显示全部楼层
上张gif图片,

cubw0x25msb.gif

cubw0x25msb.gif

回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-8 11:26:00 | 显示全部楼层
不过你一动这个标注,写的东西就会消失
  1. (defun c:test( / ent hd ld ent ents str)
  2.    (setq ent (car (entsel "\n选择标注...")))
  3.    (setq hd (getstring "\n输入上偏差:"))
  4.    (setq ld (getstring "\n输入下偏差:"))
  5.    (setq ent (tblobjname "block" (cdr (assoc 2 (entget ent)))))
  6.    (while (/= (cdr (assoc 0 (entget (setq ent (entnext ent))))) "MTEXT"))
  7.    (setq ents (entget ent))
  8.    (setq str (cdr (assoc 1 ents)))
  9.    (setq str (strcat str "{\\H0.45x;\\S" hd "^" ld ";}"))
  10.    (setq ents (subst (cons 1 str) (assoc 1 ents) ents))
  11.    (entmod ents)
  12.    (command "_.regen")
  13.    (princ)
  14. )
回复

使用道具 举报

23

主题

81

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2004-6-8 11:35:00 | 显示全部楼层
不过你一动这个标注,写的东西就会消失,,这样可不行
先谢谢版主,估计得用vba从excel已经打好的表格里面调用公差,
可能lisp不好搞啊
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-8 11:41:00 | 显示全部楼层
调用数据不难,但那个消失问题是基本上不能解决的,因为标注是按实际尺寸来写的,你一动它,系统就重新测量,重新写这个文本,而它写的时候不会考虑这个文本原来是什么。。。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-8 11:45:00 | 显示全部楼层
我真不明白,用标注本身的公差哪点不好?
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-8 14:02:00 | 显示全部楼层
  1. (defun c:test2( / ent hd ld str)
  2.    (setq ent (vlax-ename->vla-object (car (entsel))))
  3.    (setq hd (getstring "\n输入上偏差:"))
  4.    (setq ld (getstring "\n输入下偏差:"))
  5.    (setq str   (STRCAT "" "{\\H0.45x;\\S" hd "^" ld ";}"))
  6.    (setq str (vla-put-TextSuffix ent str))
  7. )
回复

使用道具 举报

23

主题

81

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2004-6-8 14:58:00 | 显示全部楼层
我是做模具设计的,不同的零件,公差等级是不一样的,而且尺寸也是大小不一
如果用用标注样式的话,一副模具少说也要30种,看看这个零件就是6种标注样式

v5aezz5lqsu.jpg

v5aezz5lqsu.jpg


所以必须是编个程序来搞定,不然无用功太多了,而且查表我也最头疼,看的眼睛花花的
回复

使用道具 举报

23

主题

81

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2004-6-8 15:02:00 | 显示全部楼层
我去VBA版块以及excel版块看看,他们有没有好办法
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-8 15:40:00 | 显示全部楼层
7楼的还不行吗???
你图中的那些标注可以用一种标注样式搞定,不需要6种,
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-18 03:59 , Processed in 1.760652 second(s), 76 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表