kucha007 发表于 2023-4-2 23:22:15

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

本帖最后由 kucha007 于 2025-1-5 20:42 编辑

源码来自这里,感谢cq4920的分享:http://bbs.mjtd.com/thread-182512-1-1.html?_dsign=a9c88575

重构了程序,有比较大的改动。fas程序目前和原作者一样免费下载,lsp源码的话权限40才能下载
六种标注方式:点选+框选+栏选+最大外框标注+分堆标注+先选对象再输命令
支持对象:直线、多段线(轻+重)、圆、圆弧。栏选另外再支持填充及块内对象(可选)


;DQ命令冲突,又没有权限下载源码,可以这样重新自定义命令:
(defun C:你的命令名 nil (K:DIMQuick))




功能相关:
01-cq4920的源码在旋转ucs时使用会出错,加了坐标转换
02-先选对象再输命令时也可标注所选对象
03-关键词C,控制标注图层: 可切换为默认层或者当前层(标注默认放置在层"PUB_DIM",该层颜色为绿色)
--如果默认层冻结就自动切换到当前图层标注,标注完再恢复变量。如果标注层锁定就弹窗提示解锁图层
--天正标注默认层切换的问题在3.3版本中已解决。
04-关键词D,切换标注模式: 天正标注或者CAD原生标注(默认为天正)
--判断三个天正ARX是否加载,没加载且标注方式为天正标注时,就切换标注方式为CAD原生标注(变量之后不自动恢复)
05-关键词S,设置标注比例: 输入关键词再输入比例值可重新设置标注比例
--天正环境默认使用天正比例值,纯CAD环境首次加载会提示输入比例
06-空格使用栏选标注,栏选时临时恢复对象捕捉。
--与栏选线重合的端点,单独收集再加入交点表,算法参见此贴:http://bbs.mjtd.com/thread-187621-1-1.html
--输入关键词S,确认是否计算块内对象(默认不计算),算法参见此贴:http://bbs.mjtd.com/thread-187632-1-1.html
07-其它参照后续更新













kucha007 发表于 2023-4-14 08:29:57

本帖最后由 kucha007 于 2025-1-5 20:51 编辑

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

20240324-v3.6.9
1-新建自己的标注样式_DQ-None和_DQ_Arrw。
线型标注和弧长标注不含箭头,直径半径箭头不含填充,方便导入AI等其它软件二次编辑。介意的话就用低版本。

2-恢复支持轻多段线,但为了避免天正弧长报错,点选时如果是天正标注,则不标注弧长。
3-修改一些bug。分堆的间隙用户可设置,设置标注比例后可选标注修改比例(注意可能会有异常)



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-终于找到天正标注控制默认层的变量,程序将根据设置进行调整。

(GetTextLayerChange);获取状态
(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度方向上标注直径


;设置天正比例:

(if (OR (> (TGetPScale) 1.0)(eq (getvar "CVPORT") 1.0) )
(TGetPScale)
(getvar "HPSCALE")
);获取天正比例
(TsetPScale 20) ;设置天正标注比例为20


;判断天正是否存在的方法:


(defun K:IsTangent ()
(vl-every
    '(lambda (T-Arx)
      (member (strcase T-Arx) (mapcar 'strcase (arx)))
    )
    '("tch_kernal.arx" "Tch_PipeBase.arx" "tch_pipewire.arx")
)
)



;标注相关的命令:
顺便说一下,天正的标注会自动开捕捉,还好看到大佬总结的LSP捕捉陷阱!http://bbs.mjtd.com/thread-185992-1-1.html

(command "_DimAligned" "" "none" (list en StaPt) "none" TgtPt );CAD对齐标注
(command "_DIMARC" "none" (list en StaPt) "none" TgtPt );;CAD弧长标注
(command "_DimRadius" "none" (list en StaPt) "none" TgtPt );CAD半径标注
(command "DIMDIAMETER" "none" (list en StaPt) "none" TgtPt );CAD直径标注

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
















注册 发表于 2023-4-6 17:55:49

命令: DQ 未知命令“TDIMMP”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“DQ”。按 F1 查看帮助。
未知命令“TDIMMP”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“DQ”。按 F1 查看帮助。
未知命令“TDIMMP”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“DQ”。按 F1 查看帮助。
未知命令“TDIMMP”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“DQ”。按 F1 查看帮助。
未知命令“TDIMMP”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“DQ”。按 F1 查看帮助。
未知命令“TDIMMP”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“NONE”。按 F1 查看帮助。
未知命令“DQ”。按 F1 查看帮助。

gy080611 发表于 2023-4-3 07:33:10

怎么还下载不了

panliang9 发表于 2023-4-3 09:00:18

谢谢楼主分享!

yaojing38 发表于 2023-4-3 09:20:18

谢谢楼主分享!

lxl217114 发表于 2023-4-3 09:25:45

高产了,高产了。
谢谢分享,占楼支持一波

hzyhzjjzh 发表于 2023-4-3 12:50:24

谢谢楼主分享!:lol

Klein 发表于 2023-4-3 14:18:30

试用了一下,不错不错~

嘉伟钢结构 发表于 2023-4-3 14:40:41

有演示吗?楼主

哆啦A梦_oELxg 发表于 2023-4-3 22:23:25

谢谢楼主分享,下载收藏下

429014673 发表于 2023-4-4 08:06:56

线内或线外统一标注才美观
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【DQ/K:DIMQuick】快速标注_v3.6.9,空格拦选,支持天正标注和CAD标注