juliana207 发表于 2024-5-16 00:46:27

批量给矩形加上对角线(多段线)

请问各位老师, 有这样的lisp 程序吗? 谢谢

guosheyang 发表于 2024-5-16 00:46:28

本帖最后由 guosheyang 于 2024-5-16 07:42 编辑

(defun c:tt(/ I LST LST1 LST2 PT SS)
(setq ss(ssget))
(defun ff(lst)
      (entmakex (append (list '(0 . "LWPOLYLINE")
      '(100 . "AcDbEntity")
      '(100 . "AcDbPolyline")
      '(62 . 0)
      (cons 90 (length lst))
      (cons 70 0)
      )
      (mapcar '(lambda (pt) (cons 10 pt)) lst)
      )
))
(repeat(setq i(sslength ss))
    (setq lst(mapcar 'cdr(vl-remove-if-not '(lambda(x)(=(car x) 10)) (entget(ssname ss(setq i(1- i)))))))
   (setq lst1(list(car lst ) (caddr lst )))
   (setq lst2(list(cadr lst )(cadddr lst )))
   (ff lst1) (ff lst2)
)
(princ)
)

juliana207 发表于 2024-5-16 11:59:12

guosheyang 发表于 2024-5-16 00:46
(defun c:tt(/ I LST LST1 LST2 PT SS)
(setq ss(ssget))
(defun ff(lst)


非常感谢及时的答复, 生成的多段线好像只能是 0 图层, 可以帮忙改成生成当前的图层吗?

weimeng555 发表于 2024-5-16 12:58:49

juliana207 发表于 2024-5-16 11:59
非常感谢及时的答复, 生成的多段线好像只能是 0 图层, 可以帮忙改成生成当前的图层吗?

刚测试了,不是能生成当前图层的多段线吗?

guosheyang 发表于 2024-5-16 14:06:18

juliana207 发表于 2024-5-16 11:59
非常感谢及时的答复, 生成的多段线好像只能是 0 图层, 可以帮忙改成生成当前的图层吗?

自己手动线设置好当前层 就可以

juliana207 发表于 2024-5-16 15:13:13

guosheyang 发表于 2024-5-16 14:06
自己手动线设置好当前层 就可以

抱歉我看错了. 图层是当前, 不过是随块的, 看上去是白色 我以为是0图层,要是随层的颜色就好了

mercio 发表于 2024-5-24 17:58:54

juliana207 发表于 2024-5-16 15:13
抱歉我看错了. 图层是当前, 不过是随块的, 看上去是白色 我以为是0图层,要是随层的颜色就好了

'(62 . 0)改成'(62 . 256),试试

juliana207 发表于 2024-5-25 23:46:45

mercio 发表于 2024-5-24 17:58
'(62 . 0)改成'(62 . 256),试试

可以了.非常感谢:loveliness:

muai2010 发表于 2024-7-29 12:05:30

回帖留名备用
页: [1]
查看完整版本: 批量给矩形加上对角线(多段线)