raimo 发表于 2012-5-28 10:59:51

【问题已解决】如何用LISP控制填充中的用户定义图案

本帖最后由 raimo 于 2012-5-30 08:13 编辑

最终完成程序详见链接

【用LISP来完成7种预设的常用填充】



hatch 的填充类型分三种:预定义,用户定义,自定义

预定义就是CAD本身自带的一些填充图案

用户定义就是由用户通过 “角度”,“间距”,“双向”三个参数的调整组合出来一种线型填充图案

自定义是用外部附加的一些自定义填充图案文件,来补充原有填充图案的不足


这里我搜索了下百度和明经论坛,都没有发现关于如何用LISP来实现用户定义填充的方法,
比如用间距300x300,双向,0度填充
不知道是否本身就不行(个人感觉应该可以的)。希望知道的高手们不吝赐教,非常感谢
forum.php?mod=image&aid=67500&size=300x300&key=7d9619c9eb1920f106f3adbc011d3064&nocache=yes&type=fixnone

我找遍论坛也就明白Hatch的这一种用法,这里给出一段我琢磨出来的代码,
用来方便填充柱子,颜色如果喜欢红色可以自己改成(command "color" "1");临时填充灰色实体墙
(defun c:h1 ()
(prompt "\n灰色实体填充,指定内部点\n")
(setq pt (getpoint))
(setq oldcolor (getvar "cecolor"))
(command "color" "8")
(command "bhatch" "p" "solid" pt "")
(command "color" oldcolor)
(princ)
)


自己瞎搞一通,居然发现这么弄就可以解决问题。
这样就可以快速的填充自己常用的一些图案,不用反复的进到界面里去设置了

;临时填充300x300地砖
(defun c:h4 ()
(prompt "\n300x300地砖,指定内部点\n")
(setq pt (getpoint))
(setq oldcolor (getvar "cecolor"))
(setq hpscale "1")
(command "color" "8")
(command "bhatch" "p" "U" "0" "300" "Y" pt "")
(command "color" oldcolor)
(princ)


我打算继续完善,做一个常用填充工具来。。(已完成)



Gu_xl 发表于 2012-5-28 11:16:18

用户定义的填充图案,必须是一个图案对应一个单独的pat文件,且文件名和图案名称保持一致,将其放在搜索目录下即可!

raimo 发表于 2012-5-28 11:28:15

Gu_xl 发表于 2012-5-28 11:16 static/image/common/back.gif
用户定义的填充图案,必须是一个图案对应一个单独的pat文件,且文件名和图案名称保持一致,将其放在搜索目录 ...

G版请看我补的图,是说的这种用户定义填充方式

raimo 发表于 2012-5-28 11:42:12

我居然自己发现怎么弄了。。研究一下,稍后给出代码

清风明月名字 发表于 2012-5-29 11:03:16

谢谢楼主,很有启发性

hooboxu 发表于 2014-10-10 23:21:27

学习了。。谢谢楼主!^_^

hooboxu 发表于 2014-10-10 23:46:11

请教楼主大大,能增 加一个 移动 指定原点的功能吗??

999999 发表于 2020-11-25 10:12:14

谢谢分享经验与代码,,想问一下楼主,pt   是指pat文件格式吗?   还有就是“P”   是指拾取点的意思吗?

cchessbd 发表于 2022-11-6 16:49:39

太复杂了,大哥。你这编程太呆板了。。。
简直叫我抓狂。。。
页: [1]
查看完整版本: 【问题已解决】如何用LISP控制填充中的用户定义图案