明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: liminnet

autodesk公司的缺陷,至今没有解决

  [复制链接]
发表于 2008-8-1 14:14:00 | 显示全部楼层
AutoCAD后来在AutoLisp中加入的Reactor或可用来打造您的需求
 楼主| 发表于 2008-8-1 16:26:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-8-1 16:34:00 | 显示全部楼层

对第7楼增加补充:

一、颜色不变的解决:

1、在第三步时中增加颜色判定,如为指定颜色,则只更改图层,颜色当然不会变;

                             如为bylayer,则读取对象所在层的颜色,并在颜色群码将bylayer更改成该颜色

二、图层改变的解决:

1、在第二步取对象时,先设置参数,保存对象名,原层及原颜色:

        对象名1---currentlayer1---currentcolor1

2、编写一“解除对象锁定” 的lisp:

    1)解冻该层,并冻结其他层;

    2)选择该集,自动将原先储存的原层及原颜色参数,依对象名重新赋回给对象。

    3)解冻所有层。

   这样应该就能实现了吧

         

 楼主| 发表于 2008-8-1 17:05:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2008-8-1 17:25:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2008-8-1 17:57:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-8-1 22:14:00 | 显示全部楼层
本帖最后由 作者 于 2008-8-2 19:45:16 编辑

  1. (defun c:lo()
  2. (setq ol (getvar "clayer"))
  3. (setq tc (getvar "cmdecho"))
  4. (setvar "cmdecho" 0)
  5. (if (setq ss (ssget))
  6.   (progn
  7.    (setq lm "李敏定义锁定的图层")
  8.    (command ".undo" "BE")
  9.    (if (= (setq a (tblsearch "layer" lm)) nil)
  10.     (command "-layer" "m" lm "c" "7" "" "")
  11.     (setvar "clayer" lm)
  12.    )
  13.    (command "-block" "李敏" "0,0" ss "" "-insert" "李敏" "0,0" "1" "1" "0")
  14.    (setq lst (entlast))
  15.    (command "-layer" "lo" lm "")
  16.    (command ".undo" "E")
  17.    (princ)
  18.   )
  19. )
  20. (setvar "cmdecho" tc)
  21. (setvar "clayer" ol)
  22. (princ)
  23. )
  24. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  25. (defun c:ulo()
  26. (setvar "cmdecho" 0)
  27. (command ".undo" "BE")
  28. (setq cm (getvar "cmdecho"))
  29. (command "_.layer" "thaw" "*" "on" "*" "u" "*" "")
  30. (if (tblsearch "block" "李敏")
  31.   (progn
  32.    (setq ss (ssget "X" '((0 . "INSERT") (2 . "李敏"))))
  33.    (setvar "QAFLAGS" 1)
  34.    (command ".explode" ss "")
  35.    (setvar "QAFLAGS" 0)
  36.    (command "-purge" "b" "李敏" "y" "y")
  37.    (command ".undo" "E")
  38.   )
  39. )
  40. (setvar "cmdecho" cm)
  41. (princ)
  42. )
发表于 2008-8-2 14:55:00 | 显示全部楼层

加个反应器

发生编辑时触发一个还原函数就OK了

不用图层什么的

发表于 2008-8-2 16:18:00 | 显示全部楼层
我用的Z版修改的那个提示错误,反倒是原程序没有问题……我2009的平台
发表于 2008-8-2 16:56:00 | 显示全部楼层

版主,这句错了

(setvar lm "李敏定义锁定的图层")

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

本版积分规则

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

GMT+8, 2025-6-19 02:34 , Processed in 0.182328 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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