longhaowang 发表于 2013-8-19 09:15:56

command调用pline

调用pline的命令是这样的:
(command "pline" '(0 0) '(10 10) '(100 100) "c")
这个参数数量是不定的,如果我想动态生成一条多义线,比如数据都在一个txt里面。
我把坐标循环读出来,然后如何调用这个pline画呢。
相当于程序并不知道会有多少个点,有些什么点读进来,那这个命令如何使用?
求指教,谢谢!

自贡黄明儒 发表于 2013-8-19 09:21:09

;;148.1 [功能] 根据点表画多段线
(defun draw-pline1 (pts)
(command "_PLINE")
(mapcar 'command pts)
(command "")
)
;;148.2 [功能] 根据点表画多段线
;; TF:T封闭,NIL不封闭
(defun draw-pline2 (pts tf)
(apply 'command (cons "pline" pts))
(if tf
    (command "c")
    (command "")
)
)

longhaowang 发表于 2013-8-19 09:28:45

谢谢啦,这些想也想不到,查也不好查,原来还有这种函数,多谢指点!!

自贡黄明儒 发表于 2013-8-19 11:11:19

longhaowang 发表于 2013-8-19 09:28 static/image/common/back.gif
谢谢啦,这些想也想不到,查也不好查,原来还有这种函数,多谢指点!!

还可以这样
(entmake (append (list '(0 . "LWPOLYLINE")
                     '(100 . "AcDbEntity")
                     '(100 . "AcDbPolyline")
                     (cons 90 (length lst))
               )
               (mapcar '(lambda (pt) (cons 10 pt)) lst)
       )
)

caoliu023 发表于 2016-4-9 22:53:29

学习了,又一次拓展了思路,之前还为操作自动剪裁图像而苦恼,现在一下解决了!

zzl9105 发表于 2018-5-28 09:40:16

自贡黄明儒 发表于 2013-8-19 09:21
;;148.1 [功能] 根据点表画多段线
(defun draw-pline1 (pts)
(command "_PLINE")


pline与_pline有什么区别啊,好像是弹出窗口什么的,不知道是不是,大儒兄
页: [1]
查看完整版本: command调用pline