Ramana 发表于 2022-7-6 14:30:07

突发口齿不清

你好,朋友们
 
谁能帮我一个忙吗。lsp文件,将属性分解为其值。
 
 
拉马纳

Lee Mac 发表于 2022-7-6 14:40:31

爆发如果已安装快速工具,则lsp应包含在其中。

Ramana 发表于 2022-7-6 14:52:28

亲爱的朋友李:,
 
谢谢你的建议。
 
实际上,我没有使用autocad,我正在使用其他cad程序,因为我需要burst或a2t。lsp文件。
 
请帮帮我
 
拉马纳

Lee Mac 发表于 2022-7-6 14:54:33

我不确定分发受AutoDesk版权保护的LISP文件会带来哪些法律问题,但我认为这是不合法的眨眼:
 
然而,我愿意接受相反的建议。

Ramana 发表于 2022-7-6 15:00:59

亲爱的朋友,
 
我不想按原样使用程序。我想知道逻辑。没有法律问题。Burst可能使用了vlx函数,这对我没有帮助。
 
但我需要知道这些概念。
 
谢谢关心
 
 
拉马纳

Freerefill 发表于 2022-7-6 15:13:35

我想象一下,突发的概念是穿过一个块,提取其中的每个实体,然后在它当前所在的位置绘制该实体。对于属性,它可能会抓取该属性。。嗯属性。。并创建一个文本或多行文字对象,在其位置具有相同的属性,就像它对块的线和圆所做的那样。
 
重新创建LISP可能并不困难,在这个论坛的另一个线程中已经有了一些框架。

ReMark 发表于 2022-7-6 15:18:17

我认为突发命令分解块,然后将任何属性转换为文本。至少我是这样理解的。

Lee Mac 发表于 2022-7-6 15:26:19

我的爆破Lisp程序版本-恰当命名。
 

;; MacBurst~ An Alternative Burst LISP by Lee Mac
;; Copyright (c) 03.06.2009

(defun c:MacBurst (/ ss iPt lst)
(vl-load-com)
(princ "\nInitializing...")
(if (setq ss (ssget '((0 . "INSERT"))))
   (foreach Blk (vl-remove-if 'listp
                  (mapcar 'cadr (ssnamex ss)))
   (setq iPt
      (vlax-3D-point
          (cdr (assoc 10 (entget Blk)))))
   (mapcar
       (function
         (lambda (x)
         (vla-move
             (vlax-ename->vla-object x)
               (vlax-3D-point '(0 0 0)) iPt)))
       (append
         (mapcar 'entmakex
         (vl-remove-if
             (function
               (lambda (x)
               (eq "ATTDEF" (cdr (assoc 0 x)))))
             (setq lst
               (mapcar 'entget
               (GetObj
                   (tblobjname "BLOCK"
                     (cdr (assoc 2 (entget Blk)))))))))
         (mapcar 'entmakex
         (mapcar
             (function
               (lambda (y)
               (vl-remove-if
                   (function
                     (lambda (x)
                     (member (car x)
                         '(100 3 2 70 280)))) y)))
             (mapcar
               (function
               (lambda (x)
                   (subst (cons 0 "TEXT") (assoc 0 x)
                     (subst (cons 73 (cdr (assoc 74 x)))
                     (assoc 74 x) x))))
               (vl-remove-if-not
               (function
                   (lambda (x)
                     (eq "ATTDEF" (cdr (assoc 0 x))))) lst))))))
   (entdel Blk)))
(princ))

; Get Block Sub-Entities
(defun GetObj(bObj)
(if (setq bObj (entnext bObj))
   (cons bObj (GetObj bObj))))
                  

Ramana 发表于 2022-7-6 15:33:55

李先生,
 
谢谢你的代码,
 
我会尽力满足我的要求。
 
再次非常感谢
 
拉马纳
页: [1]
查看完整版本: 突发Lisp程序