明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 680|回复: 5

[源码] 支持英制的坐标标注,有源码,求助修改增加负号

[复制链接]
发表于 2022-4-21 17:04:20 | 显示全部楼层 |阅读模式
本帖最后由 hadessna 于 2022-4-21 17:06 编辑

附件的cad是英标格式的标注样式,如果是毫米单位的标注样式,这个lisp会标出毫米单位的坐标。
现在问题是这个坐标标注不能识别正负坐标值,有没有大佬帮忙修改一下?能识别当前UCS的原点坐标标出负值?
谢谢~~~


本帖子中包含更多资源

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

x
发表于 2022-4-22 11:00:15 | 显示全部楼层
看了一下代码,第一个函数是获取对象的包围盒坐标值,后面一个函数主要是选点,然后用command创建dimordinate对象,炸开,获取标注中的文字内容、字高(两次,分别获取X,Y),用于后续创建leader。
有几句没有用到的语句,按功能描述,你贴出的代码应该不全。

对于坐标值等数值的获取,getpoint的返回值就有了,上面的流程基本上是没有意义的。

对于这种直接标注的点坐标值的需求,不会编程的,做一个包含坐标值Field的动态块就好了。


另外 :变量名称请不要如此不规范,你自己看都不能一眼就看明白其代表什么吧?请参考:

  1. ...
  2. (setq ptBase (getpoint))
  3. ...
  4. (setq sContent (cdr (assoc 1 enlist))
  5. ...

 楼主| 发表于 2022-4-22 16:11:16 | 显示全部楼层
本帖最后由 hadessna 于 2022-4-22 16:14 编辑
e2002 发表于 2022-4-22 11:00
看了一下代码,第一个函数是获取对象的包围盒坐标值,后面一个函数主要是选点,然后用command创建dimordina ...

原理上是你说的那样。
我自己断断续续的学了大半年实在是学不会,只会一些很基础的东西。这些代码是花钱托人弄的,没有售后,ε=(′ο`*)))唉。
getpoint的返回值是毫米单位的数值,我需要用英标的标注数值~~~~以前跟同事一起弄过一个按单位转换计算输出结果的lisp,也没弄好,有很多bug
坐标值动态块使用限制比较大,我们是一张图纸里面放很多平面图,然后每张平面图设置一个0,0坐标原点,需要坐标标注的时候使用ucs修改原点坐标。如果用动态块那些数值会跟着UCS边的

点评

就这种不入门的代码水平,还需要花钱? 你在本坛谁便找的都比这个人强不知道多少... 在Model中设置多个UCS_Original , Field 也是可以处理的。 真要写,你也愿意付费的话,可以给你写。  发表于 2022-4-22 16:31
 楼主| 发表于 2022-5-7 08:55:16 | 显示全部楼层

谢谢大佬,有用~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 14:28 , Processed in 0.233521 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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