明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: kucha007

【DQ/K:DIMQuick】快速标注_v3.6,空格拦选,支持天正标注和CAD标注

    [复制链接]
 楼主| 发表于 2023-4-10 22:10:20 | 显示全部楼层

仔细考虑一下,还是交给你吧~
发表于 2023-4-11 18:04:23 | 显示全部楼层
kucha007 发表于 2023-4-10 22:10
仔细考虑一下,还是交给你吧~

好的这就来了
 楼主| 发表于 2023-4-14 08:29:57 | 显示全部楼层
本帖最后由 kucha007 于 2024-3-25 10:06 编辑

自己顶一顶,作为备用楼。

20240324-v3.6
1-补充文字样式、标注样式及线型的创建。避免参数缺失导致无法创建标注
2-由于天正的弧长标注SB及多段线原位分解再拾取容易出错。点选标注时不再支持多段线
(即无法像之前一样只标注多段线中的一段,要标注某一段需要自行分解)
(天正弧长标注在2014后不能传入实体名,所以弧长标注仍然容易出错进而导致捕捉无法恢复,建议分段标注或者视口放大再标注避免其它对象干扰)
3-选择集最小外框及分堆标注时,直接绘制外框,不再提示。外框线型为<DQ+全局比例>的1:1虚线,根据当前全局比例创建
(虚线比例和当前标注比例统一)
4-程序未创建任何标注时,空格或者回车可进入栏选。若已经创建标注对象,使用栏选需要通过关键词F,直接空格或者回车将直接结束命令,
5-栏选块内对象时,若对象层锁定,则先解锁,获取交点后再锁定。避免块内锁定层的对象无法删除导致出错

20230713-v3.5
1-针对弧长增加关键词R,可标注弧长+半径或仅弧长或仅半径
2-天正半径大于3位数,半径长度为20mmx比例。否则为15mmx比例


20230627-v3.4
1-修改边界框函数:在计算最大边界框时放回UCS而不是WCS。
2-绘制边界框时使用entmake,速度更快,也避免受到UCS的影响


20230619-v3.3

1-修复点选标注时出错的Bug
2-终于找到天正标注控制默认层的变量,程序将根据设置进行调整。
  1. (GetTextLayerChange);获取状态
  2. (SetTextLayerChange);改变状态。将在1和0之间切换,其中1为默认层

3-目前除了标注弧线段容易出错(天正的锅不知道怎么跳过),这个程序算是完美了。



20230616-v3.2
1-改用Grread重写主程序,主程序部分输入关键词不用再回车。
2-增加选择集分组,各自按最大外框标注,主要用来标注零件最大边界。可选择是否要在标注后绘制边界框
3-栏选部分优化,标注方向始终在输入方向的左侧,这样就可以自己控制标注的位置了
(即从左至右标注在上方,从右至左标注在下方。从下至上标注在左侧,从上至下标注在右侧)
4-取消封闭空间标注,此功能的使用频率较低,且容易出现下面两个错误:
(BOUNDARY命令效率太低,有时候还会卡死)
(天正高版本标注弧线时,如果有重叠的部分会提示选择正确对象,从而导致报错)
5-框选对象改为循环,可分多次框选对象标注时。同时还扩充了建立选区的方式,支持旋转的UCS。具体用用就知道了。

20230611-v3.1
1-闭合区域无法标注,大Bug修复。之前居然没人提= =
2-优化多段线的处理方式,复制出来处理再删除,避免多段线有多个宽度要恢复。
(缺点是报错时,复制出来的多段线可能没法完全删除,具体再看坛友反馈修改吧,主要会出现在天正弧长标注上)

20230521-v2.8
1-计算标注角度作为子函数,方便后期统一调整
2-拦选时若无交点或者交点数量小于2,将标注输入点

20230503-v2.7
调整程序逻辑,避免手动修改天正比例后,DQ没有获取最新的比例

20230503-v2.6
应坛友反馈,调整获取天正比例的方式,避免天正比例小于1时出错。
创建临时实体(在原点创建一个点),之后删除,避免新文件entlast收集对象时报错

20230417-v2.5
修复了UCS下重叠线拾取不到的bug
修复了UCS下Angle角度出错的问题
修复了栏选时块中块出错的bug



标注相关:
01-尽可能使用entmake的方式创建标注,更快更高效。
02-天正连续标注/CAD对齐标注的位置始终在线的上方,具体参考下方的角度计算
--多段线先分解再标注,标注完再合并,重新赋予宽度。
--但如果对象重叠导致天正弧长标注出错,宽度信息可能不恢复
03-弧长标注在远离圆心一侧,半径标注在靠近圆心一侧(1/4圆弧的位置,以便和尺寸文字错开)
--天正的弧长标注没法用entmake创建,而天正弧长标注又是点选对象,所以当对象重叠时需要选择。
--这样的选择方式本身就容易出错,所以建议用此程序前先对弧线进行去重。
04-圆在45度方向上标注直径


;设置天正比例:
  1. (if (OR (> (TGetPScale) 1.0)(eq (getvar "CVPORT") 1.0) )
  2.   (TGetPScale)
  3.   (getvar "HPSCALE")
  4. );获取天正比例
  5. (TsetPScale 20) ;设置天正标注比例为20


;判断天正是否存在的方法:
  1. (defun K:IsTangent ()
  2.   (vl-every
  3.     '(lambda (T-Arx)
  4.       (member (strcase T-Arx) (mapcar 'strcase (arx)))
  5.     )
  6.     '("tch_kernal.arx" "Tch_PipeBase.arx" "tch_pipewire.arx")
  7.   )
  8. )



;标注相关的命令:
顺便说一下,天正的标注会自动开捕捉,还好看到大佬总结的LSP捕捉陷阱!http://bbs.mjtd.com/thread-185992-1-1.html
  1. (command "_DimAligned" "" "none" (list en StaPt) "none" TgtPt );CAD对齐标注
  2. (command "_DIMARC" "none" (list en StaPt) "none" TgtPt );;CAD弧长标注
  3. (command "_DimRadius" "none" (list en StaPt) "none" TgtPt );CAD半径标注
  4. (command "DIMDIAMETER" "none" (list en StaPt) "none" TgtPt );CAD直径标注

  5. (command "TDIMMP" "none" StaPt "none"  EndPt "none"  TgtPt "" );天正逐点标注
  6. (command "TDIMARC" "none" StaPt "none" TgtPt "none"  TgtPt "" );天正弧弦标注
  7. (command "TDIMRAD" "none" StaPt);天正半径标注
  8. (command "TDIMDIA" "none" StaPt );天正直径标注












回复 支持 1 反对 0

使用道具 举报

发表于 2023-4-14 09:31:10 | 显示全部楼层
kucha007 发表于 2023-4-14 08:29
自己顶一顶,也作为备用楼。

又强大了,感谢一直增强它的功能。
 楼主| 发表于 2023-4-14 12:54:22 | 显示全部楼层
lxl217114 发表于 2023-4-14 09:31
又强大了,感谢一直增强它的功能。

因为我自己也在用哈~
发表于 2023-4-14 17:06:17 | 显示全部楼层
谢谢楼主的分享!
不知道能不能分享源码呢?
发表于 2023-4-15 10:22:33 | 显示全部楼层
dq 命令能改长一点么?和别的命令有冲突
 楼主| 发表于 2023-4-15 10:25:05 | 显示全部楼层
bai2000 发表于 2023-4-15 10:22
dq 命令能改长一点么?和别的命令有冲突

(defun C:你的命令名 () (C:DQ))
发表于 2023-4-17 10:00:20 | 显示全部楼层
源码权限有些高,下不了
发表于 2023-4-17 11:44:20 | 显示全部楼层
楼主真勤快,天天都在进步
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:35 , Processed in 0.161783 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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