找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1221|回复: 13

[求助] [求助]:如何用Autolisp语言新建图层?

[复制链接]
发表于 2007-3-6 11:42:33 | 显示全部楼层 |阅读模式

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

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

×
如何用Autolisp语言新建图层?
我想用Autolisp调用layer命令新建一个名叫test的图层,实现不了,望大家帮忙!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-3-6 12:04:20 | 显示全部楼层
(command "layer" "m" "图层名" "")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-6 16:11:42 | 显示全部楼层
原来是这样a ,进一步能否在程序中实现线型及颜色的修改?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-6 16:34:52 | 显示全部楼层
原来是这样a ,进一步能否在程序中实现线型及颜色的修改?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-3-6 16:53:31 | 显示全部楼层
[PHP]
(setq 图层名  "test"
      颜色号  1
      线型      "Continuous"
)
(command "_layer" "m" 图层名
                  "C"  颜色号
                  "L"  线型
                  ""
)
[/PHP]
也就是说:按照CAD命令行的提示次序依次填入即可。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2007-3-8 19:34:46 | 显示全部楼层
建立新图层后,LISP运行后如何自动返回原来图层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-8 20:20:45 | 显示全部楼层
(setq cl (getvar "clayer"))

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

使用道具 举报

发表于 2007-3-9 08:06:01 | 显示全部楼层
(defun C:lt1 (/ pt1 pt2 pt3 pt4 l n p0 p1)
;;保存系统变量设置
    (setq old_OS  (getvar "OSMODE")
      old_CMD (getvar "CMDECHO")
    )
    (setq cl (getvar "clayer"))
    (setvar "CMDECHO" 0)
    (command "-osnap" "INT")
(command "-layer" "m" "楼梯"
                  "C" "4" """")
   (setq pt1 (getpoint "\n左下角点:"))
   (setq pt2 (getpoint pt1 "\n右下角点:"))
(setvar "OSMODE" 0)
   (setq L (distance pt1 pt2))
   (setq pt4 (polar pt1 (/ pi 2.0) 900))
   (setq pt3 (polar pt2 (/ pi 2.0) 900))
   (command "line" pt1 pt2 pt3 pt4 "")
   (setq N (/ L 200))
   (setq I 1)
   (setq k (angle pt1 pt2))
   (setq P0 Pt1)
   (while (<= i N)
   (setq P1 (polar p0 (/ pi 2.0) 900))
   (command "line" p0 p1 "")
   (setq p0 (polar p0 k 200))
   (setq I (+ i 1))
   ;;恢复系统变量设置
    (setvar "CMDECHO" old_CMD)
    (setvar "OSMODE" old_OS)
    (setvar "clayer" cl)  
  (princ)
)
)
楼上的大哥,看看上面的程序,按你的写法设置图层,但执行后有两个问题,
1,程序没有自动返回0层.
2,程序中只有前面的画线命令画出的线在''楼梯"层,循环语句中的画线命令画出的线还在0层.
另:程序中没有循环语句时,按你的写法设置图层是正确.
请指导
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-9 08:27:04 | 显示全部楼层
[PHP]
(defun C:lt1 (/ pt1 pt2 pt3 pt4 l n p0 p1)
;;保存系统变量设置
(setq old_OS (getvar "OSMODE")
old_CMD (getvar "CMDECHO")
)
(setq cl (getvar "clayer"))
(setvar "CMDECHO" 0)
(command "-osnap" "INT")
(command "-layer" "m" "楼梯"
"C" "4" """")
(setq pt1 (getpoint "\n左下角点:"))
(setq pt2 (getpoint pt1 "\n右下角点:"))
(setvar "OSMODE" 0)
(setq L (distance pt1 pt2))
(setq pt4 (polar pt1 (/ pi 2.0) 900))
(setq pt3 (polar pt2 (/ pi 2.0) 900))
(command "line" pt1 pt2 pt3 pt4 "")
(setq N (/ L 200))
(setq I 1)
(setq k (angle pt1 pt2))
(setq P0 Pt1)
(while (<= i N)
(progn
(setq P1 (polar p0 (/ pi 2.0) 900))
(command "line" p0 p1 "")
(setq p0 (polar p0 k 200))
(setq I (+ i 1))
)
)
;;恢复系统变量设置
(setvar "CMDECHO" old_CMD)
(setvar "OSMODE" old_OS)
;(setvar "clayer" cl)
;执行完毕返回0层
(setvar "clayer" "0")
(princ)
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-9 19:25:26 | 显示全部楼层
明白了,多谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-1 21:47:42 | 显示全部楼层
这样啊,明白了啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-2 08:16:41 | 显示全部楼层
其实建立图层命令前应该加个判断语句,tblsearch函数,判断此图层是否存在,如果不存在,则建立图层。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-3-3 15:49:00 | 显示全部楼层
(defun c:yy()
(setq ss1(ssget))
(command"layer" "m" "0yy" "")
(setvar "cecolor" "yellow")
  (command"change" ss1 "" "p" "layer" "0yy" "color" "yellow" "")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-26 02:12 , Processed in 0.623183 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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