alanjt 发表于 2022-7-6 12:53:35

请原谅,我在家。。。
 

 
它将收集位于当前图形目录中的所有dwg名称,并根据拾取的位置将其放置在多行文字对象中。

alanjt 发表于 2022-7-6 12:57:41

这一个将为它们编号:
 
(defun c:Dir2Text (/ #Pnt1 #Pnt2 #List #String)
(cond
   ((and (setq #Pnt1 (getpoint "\nSpecify first corner: "))
         (setq #Pnt2 (getcorner #Pnt1 "\nSpecify opposite corner: "))
    ) ;_ and
    (setq #List   (vl-sort (vl-remove-if-not
                           '(lambda (x) (wcmatch x "*.dwg"))
                           (vl-directory-files (getvar 'dwgprefix))
                           ) ;_ vl-remove-if-not
                           '<
                  ) ;_ vl-sort
          #String ""
    ) ;_ setq
    (foreach x #List
      (setq #String
             (strcat #String (itoa (1+ (vl-position x #List))) " - " (vl-filename-base x) "\\P")
      ) ;_ setq
    ) ;_ foreach
    (AT:MText #Pnt1 #String (abs (- (car #Pnt1) (car #Pnt2))) nil 1)
   )
) ;_ cond
(princ)
) ;_ defun
 

alanjt 发表于 2022-7-6 13:00:58

今天过得很慢,我玩得很开心。。。
 
 
(defun c:Dir2Text (/ #Pnt1 #List #String #Text #Read)
(cond
   ((setq #Pnt1 (getpoint "\nSpecify first corner: "))
    (setq #List   (vl-sort (vl-remove-if-not
                           '(lambda (x) (wcmatch x "*.dwg"))
                           (vl-directory-files (getvar 'dwgprefix))
                           ) ;_ vl-remove-if-not
                           '<
                  ) ;_ vl-sort
          #String ""
    ) ;_ setq
    (foreach x #List
      (setq #String
             (strcat #String (itoa (1+ (vl-position x #List))) " - " (vl-filename-base x) "\\P")
      ) ;_ setq
    ) ;_ foreach
    (setq #Text (AT:MText #Pnt1 #String 0 nil 1))
    (while (eq 5 (car (setq #Read (grread T 15 2))))
      (redraw)
      (grvecs (list 7
                  #Pnt1
                  (list (car (cadr #Read)) (cadr #Pnt1))
                  (list (car (cadr #Read)) (cadr #Pnt1))
                  (cadr #Read)
                  (cadr #Read)
                  (list (car #Pnt1) (cadr (cadr #Read)))
                  (list (car #Pnt1) (cadr (cadr #Read)))
                  #Pnt1
            ) ;_ list
      ) ;_ grvecs
      (vla-put-width #Text (abs (- (car #Pnt1) (car (cadr #Read)))))
    ) ;_ while
   )
) ;_ cond
(redraw)
(princ)
) ;_ defun

gazzalp 发表于 2022-7-6 13:02:31

alanjt-是的,我试过了,得到了以下错误消息:错误:没有函数定义:AT:MTEXT
 
我根据子程序输入多行文字,然后运行这个lisp,它询问我给出的角,然后给出错误。我不知道如何使用它或它做什么。。。
 
马可-我来自澳大利亚,为什么?

alanjt 发表于 2022-7-6 13:04:20

 
您必须加载此处发布的例程和我链接的AT:MText子例程。它给出了这个错误,因为AT:MText没有加载。

gazzalp 发表于 2022-7-6 13:10:26

我已经加载了两者,但仍然收到相同的消息。你能告诉我这个函数实际上做什么吗?你在这里发布的视频文件似乎没有显示它做了我想要的(也许你只是发布了它的部分功能?)

ScribbleJ 发表于 2022-7-6 13:11:05

我必须在这里发言,并重申/强烈强调图纸集。图纸集管理器可以将图纸管理变成梦想。如前所述,启动它需要时间,但你付出的努力是值得的。如果实现了图纸集,则当前问题的解决方案已经解决。

alanjt 发表于 2022-7-6 13:15:36

 
 
这是一个“让你开始”。在你发布你想要的实际例子之前,很难解读你的段落。一幅画抵得上千言万语。
 
 
如果您在以下位置收到错误消息:MText,则您没有加载它。

alanjt 发表于 2022-7-6 13:17:25

 
同上。。。。。。
 
为什么我们必须处理这个问题:
 
我相信这有一个很好的理由(与垃圾邮件有关),这只是令人讨厌。

alanjt 发表于 2022-7-6 13:21:30

英雄联盟
这只是一个有趣的练习。。。
 
我想把1-9的数字改成01-09。
 

 
(defun c:Dir2Text (/ #Pnt1 #List #Pos #String #Text #Read)
(cond
   ((setq #Pnt1 (getpoint "\nSpecify first corner: "))
    (setq #List   (vl-sort (vl-remove-if-not
                           '(lambda (x) (wcmatch x "*.dwg"))
                           (vl-directory-files (getvar 'dwgprefix))
                           ) ;_ vl-remove-if-not
                           '<
                  ) ;_ vl-sort
          #String ""
    ) ;_ setq
    (foreach x #List
      (setq #Pos (1+ (vl-position x #List)))
      (if (< #Pos 10)
      (setq #Pos (strcat "0" (itoa #Pos)))
      (setq #Pos (itoa #Pos))
      ) ;_ if
      (setq #String (strcat #String #Pos " - " (vl-filename-base x) "\\P"))
    ) ;_ foreach
    (setq #Text (AT:MText #Pnt1 #String 0 nil 1))
    (while (eq 5 (car (setq #Read (grread T 15 2))))
      (redraw)
      (grvecs (list 7
                  #Pnt1
                  (list (car (cadr #Read)) (cadr #Pnt1))
                  (list (car (cadr #Read)) (cadr #Pnt1))
                  (cadr #Read)
                  (cadr #Read)
                  (list (car #Pnt1) (cadr (cadr #Read)))
                  (list (car #Pnt1) (cadr (cadr #Read)))
                  #Pnt1
            ) ;_ list
      ) ;_ grvecs
      (vla-put-width #Text (abs (- (car #Pnt1) (car (cadr #Read)))))
    ) ;_ while
   )
) ;_ cond
(redraw)
(princ)
) ;_ defun
页: 1 [2]
查看完整版本: 在AutoC中创建图纸列表