明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 552|回复: 4

[提问] 引用别人的标注层函数失败,请大家解决一下

[复制链接]
发表于 2022-5-1 22:24:30 | 显示全部楼层 |阅读模式
我想把绘图环境初始化一下,引用了一位大侠的标注图层的函数,但是创建图层失败,找不出原因。请大家帮忙看看,谢谢

(defun c:csh (/ os cm   orig_layer) ; 指定函式名称
     (setq os (getvar "osmode"))
     (setq cm (getvar "cmdecho"))
     (setvar "osmode" 0)
     (setvar  "cmdecho" 0)
           (setvar "CURSORSIZE" 100)  ;;将屏幕十字光标大小设为100%,初始值是5
           (setvar "GRIDMODE" 0)      ;;关闭栅格
         (setvar "ORTHOMODE" 0)     ;;关闭正交
         (setvar "DYNMODE" 0)       ;;关闭动态输入
           (command "viewres" "y" 10000 )   ;;设置圆弧和圆的平圆度
         (setvar "ltscale" 0.2)  ;;设置全局线型比例为1.0000
         (setvar "PICKBOX" 10)                  ;控制拾取框大小
         (setvar "APERTURE" 8)  ;;以像素为单位设置靶控制对象捕捉靶框大小.
         (setvar "Vtenable" 0)                 ;窗口缓冲速度
  ;;创建标注图层
  (defun csh_lay(/ doc lay)
        (vl-load-com)
        (setq doc (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument))       
   (foreach lt '("CENTER" "HIDDEN" "DASHED" "phantom")
     (if (not (tblsearch "ltype" lt))
       (Vlax-Invoke-Method (Vlax-Get doc 'Linetypes) 'Load lt "acad.lin" )
     )
   )
        (foreach lst '(("剖面线层" 40 "CONTINUOUS")
                        ("中心线层" 1 "CENTER")
                        ("短虚线层" 3 "HIDDEN")
                        ("长虚线层" 6 "DASHED")
                        ("细实线层" 2 "CONTINUOUS")
                        ("尺寸线层" 4 "CONTINUOUS")
                        ("流道层" 2 "CONTINUOUS")
                        ("线切割层" 2 "CONTINUOUS")
                        ("气泡球层" 241 "phantom")
                        ("假想线层" 8 "phantom")
                        ("模仁水路层" 171 "DASHED")
                        ("模板水路层" 141 "DASHED")
                        ("滑块水路层" 31 "DASHED")
                        ("文字层" 6 "CONTINUOUS")
                        ("顶出板层" 132 "HIDDEN")
                        ("顶针平面层" 7 "CONTINUOUS")
                )
                (setq lay (Vla-Add (Vlax-Get doc 'Layers) (car lst) ))
                (Vlax-Put-Property lay 'Color (cadr lst) )
                (Vlax-Put-Property lay 'Linetype (caddr lst) )
   )
   (princ)
)
   
  (setvar "osmode" os)
  (setvar "cmdecho" cm)
         (princ "\n绘图环境初始化完成  **** 命令: csh ***")
        (princ)
)

本帖子中包含更多资源

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

x
 楼主| 发表于 2022-5-1 22:41:29 | 显示全部楼层
CAd版本2020上试验的,失败
发表于 2022-5-1 23:38:51 | 显示全部楼层
(defun c:csh (/ cm csh_lay orig_layer os) ; 指定函式名称
        (setvar "osmode" 0)
        (setvar  "cmdecho" 0)
        (setvar "CURSORSIZE" 100)  ;;将屏幕十字光标大小设为100%,初始值是5
        (setvar "GRIDMODE" 0)      ;;关闭栅格
        (setvar "ORTHOMODE" 0)     ;;关闭正交
        (setvar "DYNMODE" 0)       ;;关闭动态输入
        (command "viewres" "y" 10000 )   ;;设置圆弧和圆的平圆度
        (setvar "ltscale" 0.2)  ;;设置全局线型比例为1.0000
        (setvar "PICKBOX" 10)                  ;控制拾取框大小
        (setvar "APERTURE" 8)  ;;以像素为单位设置靶控制对象捕捉靶框大小.
        (setvar "Vtenable" 0)                 ;窗口缓冲速度
  ;;创建标注图层
  (defun csh_lay(/ doc lay)
                (vl-load-com)
                (setq doc (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument))
                (foreach lt '("CENTER" "HIDDEN" "DASHED" "phantom")
                        (if (not (tblsearch "ltype" lt))
                                (Vlax-Invoke-Method (Vlax-Get doc 'Linetypes) 'Load lt "acad.lin" )
                        )
                )
                (foreach lst '(("剖面线层" 40 "CONTINUOUS")
                                                                                ("中心线层" 1 "CENTER")
                                                                                ("短虚线层" 3 "HIDDEN")
                                                                                ("长虚线层" 6 "DASHED")
                                                                                ("细实线层" 2 "CONTINUOUS")
                                                                                ("尺寸线层" 4 "CONTINUOUS")
                                                                                ("流道层" 2 "CONTINUOUS")
                                                                                ("线切割层" 2 "CONTINUOUS")
                                                                                ("气泡球层" 241 "phantom")
                                                                                ("假想线层" 8 "phantom")
                                                                                ("模仁水路层" 171 "DASHED")
                                                                                ("模板水路层" 141 "DASHED")
                                                                                ("滑块水路层" 31 "DASHED")
                                                                                ("文字层" 6 "CONTINUOUS")
                                                                                ("顶出板层" 132 "HIDDEN")
                                                                                ("顶针平面层" 7 "CONTINUOUS")
                                                                        )
                        (setq lay (Vla-Add (Vlax-Get doc 'Layers) (car lst) ))
                        (Vlax-Put-Property lay 'Color (cadr lst) )
                        (Vlax-Put-Property lay 'Linetype (caddr lst) )
                )
                (princ)
        )
  (csh_lay)
        (princ "\n绘图环境初始化完成  **** 命令: csh ***")
        (princ)
)
 楼主| 发表于 2022-5-2 00:43:19 | 显示全部楼层
哦原来是这里少了行代码(csh_lay)
太激动了谢谢start4444大侠
 楼主| 发表于 2022-5-2 00:46:44 | 显示全部楼层
start4444 发表于 2022-5-1 23:38
(defun c:csh (/ cm csh_lay orig_layer os) ; 指定函式名称
        (setvar "osmode" 0)
        (setvar  "cmdecho"  ...

衷心感谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 13:31 , Processed in 0.173933 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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