本帖最后由 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-终于找到天正标注控制默认层的变量,程序将根据设置进行调整。
- (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 );天正直径标注
|