明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: liminnet

求改lsp,点中文字后就可以以文字内容建立图层,但颜色总是白色,改随层

  [复制链接]
发表于 2008-5-18 22:17:00 | 显示全部楼层
(defun c:changelayer(/ ENT OBJ OBJCOLOR OBJLAYER ss)
  (vl-load-com)
  (setq ss (cadr (ssgetfirst)))
  (if ss
    (setq ent (list (ssname ss 0)))
    (setq ent (entsel "\n选择目标对象: "))
    )
  (if ent
    (progn
      (setq obj (vlax-ename->vla-object (car Ent))
     objlayer (vla-get-layer obj)
     objcolor (vla-get-color obj)
     )
      (cond
 ((= objcolor 256)(setq objcolor "bylayer"))
 ((= objcolor 0)(setq objcolor "byblock"))
 )
      (setvar "CLAYER" objlayer)
      (command "color" objcolor)
      )
    )
  (princ)
  )
 楼主| 发表于 2008-5-18 22:43:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-5-18 22:55:00 | 显示全部楼层
有写字+选择的功夫,还不如直接生成需要的图层!
 楼主| 发表于 2008-5-18 23:10:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-5-18 23:47:00 | 显示全部楼层

有点像绕口令,没看明白.

发表于 2008-5-18 23:50:00 | 显示全部楼层

试试这个:

本帖子中包含更多资源

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

x
发表于 2008-5-18 23:53:00 | 显示全部楼层

感觉也就是一个“图层更换”的功能

 楼主| 发表于 2008-5-19 09:52:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-5-19 20:22:00 | 显示全部楼层
  1. (DEFUN C:TT ()
  2.   (SETQ ENT (ENTGET (CAR (ENTSEL))))
  3.   (mapcar '(LAMBDA
  4.       (X Y)
  5.        (SETQ Y (CDR (ASSOC Y ENT)))
  6.        (COND ((= 0 Y) (SETQ Y "BYBLOCK"))
  7.       ((NOT Y) (SETQ Y "BYLAYER"))
  8.        )
  9.        (setvar X (VL-PRINC-TO-STRING Y))
  10.     )
  11.    '("CECOLOR" "CLAYER" "CELTYPE");;颜色,图层,线型
  12.    '(62 8 6)
  13.   )
  14. )
复制代码
 楼主| 发表于 2008-5-20 10:55:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-25 10:45 , Processed in 0.274865 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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