明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4550|回复: 15

[基础] [求助]如何让建构线,画出来就变色

  [复制链接]
发表于 2010-8-24 21:33:00 | 显示全部楼层 |阅读模式

大家好

我想要写一个建构线的快捷键,但是画出来的建构线都是白色的,容易影响视图

请问我该如何写,才能让画出来的建构线变成红色的呢

我最近刚接触LISP,自己有尝试写写看,但是都弄不出来,还请各位大德帮小弟个忙

 

(defun C:XV()
  (SETVAR "CMDECHO" 0)
  (command "XLINE" "V")
  (command "chprop"(entlast) "C" "T" "255,0,0")
  (prin1)
)

 

 

发表于 2010-8-24 22:18:00 | 显示全部楼层
(defun C:XV()
  (SETVAR "CMDECHO" 0)
  (command "XLINE" "V" pause )
  (while (= (logand (getvar "CmdActive") 1) 1) (command))
  (command "_.chprop" (entlast) "" "C" "1" "")
  (prin1)
)
 楼主| 发表于 2010-8-24 22:34:00 | 显示全部楼层

謝謝你的幫助,可以正常使用

我最近刚接触这程式,很多地方不懂,还请你指点一下

 

 (command "XLINE" "V" pause )    此处的"pause"的作用是什么,有加跟没有加的差异在哪里

 

 (command "_.chprop" (entlast) "" "C" "1" "")   

为什么呼叫chprop指令时要打成"_.chprop"而后在呼叫"line"的时候可以不用?

在刚呼叫chprop出来之后,不是紧接着就选颜色(c),为什么   还多了  ""    ,而不是直接  "c"??

 

 

我适才想要依照你的模组弄 XLINE/O(偏移复制),却发现无法成功。

另外,有在公司用的CAD是2010的,里头有很多积类的建构线。例如,选取两条平行线,就会自动产生两线中间的建构线,或是点选两个建立一条建构线。可是在旧一点的CAD中,就没有那么多选项。

这样的情况下,能用LISP来突破吗?

 

 

 

 

发表于 2010-8-24 22:43:00 | 显示全部楼层
看看帮助pause表示暂停等待你的输入.
""等价于你的回车
加"_."不同语言版本的cad的统一命令.
 楼主| 发表于 2010-8-25 07:58:00 | 显示全部楼层

謝謝你的回答^^

幫助我很多

 楼主| 发表于 2010-8-25 12:30:00 | 显示全部楼层

你好,我如何在cad中输入了一次指令后,然后,一直点右键就有一直出现建构线??

原本的是要输入一次指令,点一个建构线

之后,你若还想要再使用,就还得再点一次。

 

不知道这样的话,程式该如何更改???

发表于 2010-8-25 14:16:00 | 显示全部楼层
(defun C:XV()
  (SETVAR "CMDECHO" 0)
  (command "XLINE" "V"  )
  (while (= (logand (getvar "CmdActive") 1) 1) (command pause))
  (command "_.chprop" (entlast) "" "C" "1" "")
  (prin1)
)
发表于 2010-8-25 14:54:00 | 显示全部楼层
(defun c:tt ()
  (command "color" 1)
  (command "XLINE" "V")
  (while (setq p1 (getpoint "\n基点<退出>: "))
    (command p1)
  )
  (command "")
  (princ)
)
 楼主| 发表于 2010-8-25 20:56:00 | 显示全部楼层

謝謝二位寫了程式給我

兩段程式都可以使用

 

但是xshrimp, 你後來再寫的這段,顏色無法改變。可以連續建立建構線

xyp1964,你的程式碼,是會變成紅色,但是之後我再畫圓或是直線,出來的也都變成紅色了

 

 

 

 

 

 

 

 

发表于 2010-8-26 12:55:00 | 显示全部楼层
本帖最后由 作者 于 2010-8-26 23:23:48 编辑

(defun c:tt ()
  (setq co (getvar "cecolor"))
  (command "color" 1)
  (command "XLINE" "V")
  (while (setq p1 (getpoint "\n基点<退出>: "))
    (command p1)
  )
  (command "")
  (setvar  "cecolor" co)

  (princ)
)

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

本版积分规则

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

GMT+8, 2024-10-2 16:20 , Processed in 0.203990 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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