edata 发表于 2014-1-8 17:55:19

李青松 发表于 2014-1-8 17:34 static/image/common/back.gif
edata的程序非常好,块准狠,要的就是这个效果,多谢
主要原因是command函数调用命令,如果需要交互,比如指定点的时候,一定要用pause等待完成后会,根据命令提示情况""结束。。
(command "line" pause pause "")
(command "line" pause pause pause ""
有几个交互操作就需要几个pause...否则会出问题。
原因是autolisp是按行执行语句而你用
(command "-BHATCH" "co" "252" "." "p" "ansi31" "3" "0")
执行的时候,这行语句已经执行完成,但是命令还需要指定点,并确认。
因此等你确认的时候,lisp已经执行下一个语句了。
(setq hat (entlast))
-----------
因此后面的设置颜色之类的语句全部因为没有(entlast)获得正确的图元而失效。。。
-----------

edata 发表于 2014-1-8 18:02:07

李青松 发表于 2014-1-8 17:46 static/image/common/back.gif
edata的程序再改成另1种方式,就是点区域点的时候可以点多个点,不要点1下就结束命令

按理说,用6楼第二个可以多选。。。

llsheng_73 发表于 2014-1-8 18:30:36

本帖最后由 llsheng_73 于 2014-1-9 12:37 编辑

(defun c:tt(/ p)
(vl-load-com)
(command "BHATCH" "p" "ansi31" "3" "0")
(while(setq p(getpoint))(command p))
(command "")
(vlax-put(vlax-ename->vla-object(entlast))'color 1))
(defun c:tt1(/ p oldcolor)
(setq oldcoldr(getvar"CECOLCR"))
(setvar"CECOLOR""1")
(command "BHATCH" "p" "ansi31" "3" "0")
(while(setq p(getpoint))(command p))
(command "")
(setvar"CECOLOR"oldcoldr)
)
(defun c:tt2(/ oldcolor)
(setq oldcoldr(getvar"CECOLCR"))
(setvar"CECOLOR""1")
(command "BHATCH")
(setvar"CECOLOR"oldcoldr)
)

李青松 发表于 2014-1-9 11:53:35

llsheng_73的程序运行不了

llsheng_73 发表于 2014-1-9 12:12:15

李青松 发表于 2014-1-9 11:53 static/image/common/back.gif
llsheng_73的程序运行不了

第一个里边while那一行有个反括号写错位置了

李青松 发表于 2014-1-13 16:44:17

llsheng_73的程序经过修改后非常好,谢谢你的热情帮助

fire9527 发表于 2014-6-16 08:40:14

edata 发表于 2014-1-8 16:44 static/image/common/back.gif


老大,能不能改一个能框选区域,然后自动填充的程序呢?被填充的区域就是框出来的矩形,填充图案和颜色能预先设定最好

edata 发表于 2014-6-16 09:17:24

fire9527 发表于 2014-6-16 08:40 static/image/common/back.gif
老大,能不能改一个能框选区域,然后自动填充的程序呢?被填充的区域就是框出来的矩形,填充图案和颜色能 ...

你的意思是框选多段线,填充多段线,还是指对角点的方式绘制矩形并填充。
填充名称比例有时候不好匹配。设置。
有的情况可以直接填充,有的时候比例需要设置。根据填充边界的大小,自动调整比例不太好处理。
可以做到固定填充名,和相应比例。

fire9527 发表于 2014-6-16 09:21:44

edata 发表于 2014-6-16 09:17 static/image/common/back.gif
你的意思是框选多段线,填充多段线,还是指对角点的方式绘制矩形并填充。
填充名称比例有时候不好匹配。 ...

不框选任何实体,只是使用对角点绘制矩形并填充,需要固定填充图案和固定比例、固定图层及颜色
好感动,怎么快就回复了!

dforme 发表于 2015-1-23 17:07:38

都是高手啊。虚心学习来了
页: 1 [2] 3
查看完整版本: 对区域进行填充,填充后的图案的颜色自动变成指定的颜色,用lisp程序完成