本帖最后由 尘缘一生 于 2016-4-14 07:31 编辑
1:对于继承填充,第一步:选择继承的图案,取得它的1:图案名 2:图案比例 3:图案角度 即可,至于其它的,纯粹无多大意义。
2:取得后,下一步就是:点选、围选画出它来。
3: 问题是,围曲不闭合是常事,经常出错。哪么我写了个代码,不管围区它存不存在,有没有,只要你鼠标逐点点取下想填充的范围各角点 即可完成了。
本站参考帖子:
http://bbs.mjtd.com/thread-168991-1-1.html - ;;---------继承填充------------------------------------------------------------
- (defun c:jctc (/ a pt0 pt1 lis lis1 ent tcm tcb tcj)
- (setvar "OSMODE" 4327) ;;;f3打开
- (vl-load-com)
- (princ "继承填充")
- (setq ent (entsel "\n选择点选一个填充图案<退出>:"))
- (setq tcm (cdr (assoc 2 (entget (car ent)))));获取填充图案的名称
- (setq tcb (cdr (assoc 41 (entget (car ent)))));获取填充图案的比例
- (setq tcj (cdr (assoc 52 (entget (car ent)))));获取填充图案的角度(这个值是以弧度返回的)
- (setq tcj (/ (* 180 tcj) pi)) ;图案弧度转换成角度
- (setq pt1 (getpoint "\n请给出围区第一点:?"))
- (setq lis (list pt1))
- (setq pt0 pt1)
- (while (/= pt1 nil)
- (setq pt1 (getpoint pt1 "\n请逐点给出围区下面各点:?"))
- (setq lis (append
- lis
- (list pt1)
- )
- )
- )
- (setq lis1 (list "_.PLINE" pt0 "W" 0 0))
- (setq lis (append
- lis1
- lis
- )
- )
- (foreach n lis
- (command n)
- )
- (setq a (entlast))
- (command "HATCH" tcm tcb tcj a "")
- (entdel a)
- )
|