明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 李青松

[已解答] 对区域进行填充,填充后的图案的颜色自动变成指定的颜色,用lisp程序完成

[复制链接]
发表于 2014-1-8 17:55:19 | 显示全部楼层
李青松 发表于 2014-1-8 17:34
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)获得正确的图元而失效。。。
-----------
发表于 2014-1-8 18:02:07 | 显示全部楼层
李青松 发表于 2014-1-8 17:46
edata的程序再改成另1种方式,就是点区域点的时候可以点多个点,不要点1下就结束命令

按理说,用6楼第二个可以多选。。。
发表于 2014-1-8 18:30:36 | 显示全部楼层
本帖最后由 llsheng_73 于 2014-1-9 12:37 编辑

  1. (defun c:tt(/ p)
  2.   (vl-load-com)
  3.   (command "BHATCH" "p" "ansi31" "3" "0")
  4.   (while(setq p(getpoint))(command p))
  5.   (command "")
  6.   (vlax-put(vlax-ename->vla-object(entlast))'color 1))
  7. (defun c:tt1(/ p oldcolor)
  8.   (setq oldcoldr(getvar"CECOLCR"))
  9.   (setvar"CECOLOR""1")
  10.   (command "BHATCH" "p" "ansi31" "3" "0")
  11.   (while(setq p(getpoint))(command p))
  12.   (command "")
  13.   (setvar"CECOLOR"oldcoldr)
  14.   )
  15. (defun c:tt2(/ oldcolor)
  16.   (setq oldcoldr(getvar"CECOLCR"))
  17.   (setvar"CECOLOR""1")
  18.   (command "BHATCH")
  19.   (setvar"CECOLOR"oldcoldr)
  20.   )
 楼主| 发表于 2014-1-9 11:53:35 | 显示全部楼层
llsheng_73的程序运行不了
发表于 2014-1-9 12:12:15 | 显示全部楼层
李青松 发表于 2014-1-9 11:53
llsheng_73的程序运行不了

第一个里边while那一行有个反括号写错位置了
 楼主| 发表于 2014-1-13 16:44:17 | 显示全部楼层
llsheng_73的程序经过修改后非常好,谢谢你的热情帮助
发表于 2014-6-16 08:40:14 | 显示全部楼层
edata 发表于 2014-1-8 16:44

老大,能不能改一个能框选区域,然后自动填充的程序呢?被填充的区域就是框出来的矩形,填充图案和颜色能预先设定最好
发表于 2014-6-16 09:17:24 | 显示全部楼层
fire9527 发表于 2014-6-16 08:40
老大,能不能改一个能框选区域,然后自动填充的程序呢?被填充的区域就是框出来的矩形,填充图案和颜色能 ...

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

发表于 2014-6-16 09:21:44 | 显示全部楼层
edata 发表于 2014-6-16 09:17
你的意思是框选多段线,填充多段线,还是指对角点的方式绘制矩形并填充。
填充名称比例有时候不好匹配。 ...

不框选任何实体,只是使用对角点绘制矩形并填充,需要固定填充图案和固定比例、固定图层及颜色
好感动,怎么快就回复了!
发表于 2015-1-23 17:07:38 | 显示全部楼层
都是高手啊。虚心学习来了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 07:39 , Processed in 0.237452 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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