明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 438|回复: 7

请大神编写程序,工作中经常用到,机器上用的。

[复制链接]
发表于 2022-4-13 22:41 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 ninja37 于 2022-4-14 17:44 编辑

请大神编写程序,工作中经常用到,机器上用的。要求如下:
输入命令后
第1步  程序判断是否有autocut图层  有的话跳到第2步,没有就创建autocut图层,颜色红色1,线型Continuous
第2步   关闭autocut图层
第3步   运行AutoCAD原生命令标注dimlinear    (标注无图层颜色样式等等要求 标注无设置捕捉点的要求)。
第4步   打开autocut图层

第5步   设置autocut图层为当前层,最后退出程序

程序对各位大师来说比较简单,请帮一下忙    简单说 就是关掉autocut层,手动标注好尺寸后,再打开autocut层


最佳答案

查看完整内容

这样应该可以! (defun c:NMM (/ ob-layer) (if (not (tblsearch "layer" "autocut")) (command "-layer" "m" "autocut" "c" "1" "" "lt" "continuous" "" "") ) (command "layer" "OFF" "autocut" "") (command "dimlinear" pause pause pause) (command "layer" "on" "autocut" "") (setvar "clayer" "autocut") (princ) )
发表于 2022-4-13 22:41 | 显示全部楼层
这样应该可以!
(defun c:NMM (/ ob-layer)
        (if (not (tblsearch "layer" "autocut"))
                (command "-layer" "m" "autocut" "c" "1" "" "lt" "continuous"  "" "")
        )
        (command "layer" "OFF" "autocut" "")
        (command "dimlinear" pause pause pause)
                (command "layer" "on" "autocut" "")
        (setvar "clayer" "autocut")
        (princ)
)
回复

使用道具 举报

发表于 2022-4-14 17:20 | 显示全部楼层
简单说 就是为了把标注放在autocut 图层吧  感觉描述的有点乱  没咋看明白
回复

使用道具 举报

 楼主| 发表于 2022-4-14 17:44 | 显示全部楼层
xj6019 发表于 2022-4-14 17:20
简单说 就是为了把标注放在autocut 图层吧  感觉描述的有点乱  没咋看明白

简单说    就是关掉autocut层,手动标注好尺寸后,再打开autocut层
回复

使用道具 举报

发表于 2022-4-14 18:08 | 显示全部楼层
这个样?

(defun c:NM (/ ob-layer)
        (if (not (tblsearch "layer" "autocut"))
                (command "-layer" "m" "autocut" "c" "1" "" "lt" "continuous"  "" "")
        )
        (setq Ob-layer (vlax-ename->vla-object(tblobjname "layer" "autocut" )))
        (vla-put-LayerOn Ob-layer :vlax-false)
        (command "dimlinear" pause pause pause)
        (vla-put-LayerOn Ob-layer :vlax-true)
        (setvar "clayer" "autocut")
        (princ)
)
回复

使用道具 举报

 楼主| 发表于 2022-4-14 19:11 | 显示全部楼层
本帖最后由 ninja37 于 2022-4-14 19:20 编辑
xj6019 发表于 2022-4-14 18:08
这个样?

(defun c:NM (/ ob-layer)

你好,  程序很好用 实现了全部要求的功能,就是有一点麻烦,可能代码太高级了还是怎么的,在cad2016可以完美运行 但是在机器上是cad2004  提示错误 no function definition: vlax-ename->vla-object          可能CAD2004不支持这个      大师麻烦你再改一下  改成2004能运行的  
回复

使用道具 举报

 楼主| 发表于 2022-4-15 10:59 | 显示全部楼层
可以用来,CAD2004也能用,谢谢帮助。
回复

使用道具 举报

发表于 2022-4-15 11:01 | 显示全部楼层
ninja37 发表于 2022-4-15 10:59
可以用来,CAD2004也能用,谢谢帮助。

简单的小问题可以直接群里交流就行的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 07:22 , Processed in 0.765500 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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