找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1299|回复: 3

[他山之石] Lisp获取和设置图层透明度

[复制链接]
发表于 2013-5-25 02:31:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 Free-Lancer 于 2013-5-26 06:25 编辑

http://adndevblog.typepad.com/autocad/2013/04/get-and-set-layer-and-entity-transparency-using-lisp.html
[pcode=lisp,true]
; gets transparency in percentage
(defun getLayerTransparency (layerName / layer transparency)
   (setq layer (tblobjname "LAYER" layerName))
   ; get the XData of AcCmTransparency   
   (setq transparency (cdr (assoc 1071 (cdar (cdr (assoc -3
     (entget layer '("AcCmTransparency"))))))))
   (if (= transparency nil)
     ; if we did not get a value it must be the default 0%
     (setq transparency 0)
     ; if we got a value then calculate from it
     (progn
       ; get the lower byte of the value 0..255
       ; (100%..0% in the AutoCAD user interface)
       (setq transparency (lsh (lsh transparency 24) -24))
       ; convert the value to a percentage
       (setq transparency (fix (- 100 (/ transparency 2.55))))   
     ) ; (progn
   ) ; (if  
)

(defun c:testGet (/ ent layerName transparency)
   (setq ent (car (entsel)))
   (setq layerName (cdr (assoc 8 (entget ent))))
   (setq transparency (getLayerTransparency layerName))
   (princ transparency)
   (princ)
)
(defun c:testSet (/ ent layerName transparency)
   (setq ent (car (entsel)))
   (setq transparency (getint "Transparency value"))
   (setq layerName (cdr (assoc 8 (entget ent))))
   (command "_LAYER" "_TR" transparency layerName "")
   (princ)
)[/pcode]

评分

参与人数 2D豆 +7 收起 理由
xshrimp + 5 技术引导讨论和指点奖!
ScmTools + 2 很给力!经验;技术要点;资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8121个

财富等级: 富甲天下

发表于 2013-5-25 15:02:39 | 显示全部楼层
这个透明度的设置似乎要在2011及以上版本才能用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-11-14 22:01:51 | 显示全部楼层
正需要,谢谢楼主分享

点评

你这是职业灌水啊, 悠着点啊! 不要让别人对你有看法啊  详情 回复 发表于 2014-11-14 23:39
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-11-14 23:39:29 | 显示全部楼层
fjb54007 发表于 2014-11-14 22:01
正需要,谢谢楼主分享

你这是职业灌水啊,一天狂顶46个贴, 悠着点啊! 不要让别人对你有看法啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 16:38 , Processed in 0.544724 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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