明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1111|回复: 2

请教带有透明效果的图层命令的插件编程

[复制链接]
发表于 2013-1-25 11:05:01 | 显示全部楼层 |阅读模式
本帖最后由 WP.Young 于 2013-1-25 15:53 编辑

解释一下透明效果:当执行一个命令时能叠加另一个命令。

手上有CAD R16的一个图层插件,经常使用。

现在想自己做个图层插件VLX或ARX的以便支持CAD 高版本。



请教明经网友提供思路。



本帖子中包含更多资源

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

x

点评

你给个插件,命令是让大家猜的?  发表于 2013-1-25 14:27
 楼主| 发表于 2013-1-25 12:43:53 | 显示全部楼层
本帖最后由 WP.Young 于 2013-1-25 12:45 编辑
  1. ;;; ------------------------------------------------------------------
  2. ;;;  2.3.1 LayerOffOtherM 关闭物体以外的层(多选)
  3. (Defun C:LayerOffOtherM (/ ss ct cl la old)
  4.         (setvar "cmdecho" 0)
  5.         (prompt "\nSelect entities on the layers you want to remain:")
  6.         (setq ss (ssget))
  7.         (setq ct 0
  8.                                 len (sslength ss)
  9.                                 cl (cdr (assoc 8 (entget (ssname ss 0))))
  10.         )
  11.         (setvar "clayer" cl)
  12.         (while (< ct len)
  13.                 (setq la (cdr (assoc 8 (entget (ssname ss ct)))))
  14.                 (if (= old nil)
  15.                         (setq OLD la)
  16.                         (setq OLD (strcat OLD "," la))
  17.                 )
  18.                 (setq ct (1+ ct))
  19.         )
  20.         (command ".layer" "off" "*" "y" "")
  21.         (command ".layer" "on" old "")
  22.         (princ)
  23. )
针对以上这段代码,如何进行改编
 楼主| 发表于 2013-1-25 14:35:18 | 显示全部楼层
  1. ;;;  2.3.1 LayerOffOtherM 关闭物体以外的层(多选)
  2. (Defun LayerOffOtherM (/ ss ct cl la old)
  3.         (setvar "cmdecho" 0)
  4.         (prompt "\nSelect entities on the layers you want to remain:")
  5.         (setq ss (ssget))
  6.         (setq ct 0
  7.                                 len (sslength ss)
  8.                                 cl (cdr (assoc 8 (entget (ssname ss 0))))
  9.         )
  10.         (setvar "clayer" cl)
  11.         (while (< ct len)
  12.                 (setq la (cdr (assoc 8 (entget (ssname ss ct)))))
  13.                 (if (= old nil)
  14.                         (setq OLD la)
  15.                         (setq OLD (strcat OLD "," la))
  16.                 )
  17.                 (setq ct (1+ ct))
  18.         )
  19.         (command ".layer" "off" "*" "y" "")
  20.         (command ".layer" "on" old "")
  21.         (princ "LayerOffOtherM")
  22. )
  23. (vlax-add-cmd "LayerOffOtherM" 'LayerOffOtherM "LayerOffOtherM" ACRX_CMD_TRANSPARENT)
我尝试改成这个种还是没有用:CAD提示错误: invalid AutoCAD command: nil
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-1 23:02 , Processed in 0.258352 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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