HGHG011 发表于 2015-1-25 19:46:04

填充源码小程序,看看对大家有用没

本帖最后由 HGHG011 于 2015-1-28 14:37 编辑

代替原来的bh填充命令

本人菜鸟一枚,程序写得不好勿怪




;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;;;;;;说明
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;1.填充命令 bh (输入命令后 1左键直接指定多段线内部点填充,
;                           2 右键选择需要填充的对象)
;2.设置填充 sbh (选择填充体)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;说明
;;;----------------------------------------------------------------------



;;;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;;;;;;主程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;






(defun c:bh ( / *error*)
       
        (defun *error* (msg)
(setvar "osmode" os)
(setvar "clayer" dqtc)
(princ "出错: ")
(princ msg)

(princ)
)
       
        (setq os (getvar "osmode"))

(setvar "osmode" 0)
       
       
       
       
        (setq dqtc (getvar "clayer"))
        (if tatc
                (command "layer""s"tatc "")
        )
        (if (= tuan nil)
                (setq
                        tuan "SOLID"
                        tabl 100
                        tajd 0
                )
        )
       
       
        (if (= tuan "SOLID" )
               
                (progn
(setq pt (getpoint))
                        (command "-hatch""p" "SOLID" pt)
                        (while (> (getvar "CMDACTIVE") 0) (command PAUSE))
                        (ifpt
                                (princ)
                                (command "-hatch""p" "SOLID" "s" (setq ss (ssget)) "" "")
                        )
                )
                (progn
                        (setq pt (getpoint))
                        (command "-hatch""p" tuan tabl tajd pt)
                        (while (> (getvar "CMDACTIVE") 0) (command PAUSE))
                        (if   pt
                                (princ)
                                (command "-hatch""p" tuan tabl tajd "s" (setq ss (ssget)) "" "")
                        )
                )
        )
        (setvar "clayer" dqtc)
(setvar "osmode" os)

        (princ)
)
(defun c:sbh( / ss )
        (setq tuan (cdr (assoc 2 (entget (car (setq ss (entsel) ))))));提取属性
       
        (if (= tuan "SOLID")
                (setq tatc (cdr (assoc 8 (entget (car ss)))))
                (progn
                       
                        (setq tabl (cdr (assoc 41 (entget (car ss)))))
                        (setq tatc (cdr (assoc 8 (entget (car ss)))))
                        (setq tajd (angtos (cdr (assoc 52 (entget (car ss))))0 4) )
                )
        )
        ;(setq tajd (cdr (assoc 41 (entget (car ss)))))

        (princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;主程序
;;;----------------------------------------------------------------------





2015-1-28 改

sxm121233 发表于 2015-1-28 12:56:36

有待验证,先支持一下
页: [1]
查看完整版本: 填充源码小程序,看看对大家有用没