Se7en 发表于 2022-7-6 15:26:31

不用道歉,我喜欢学术讨论!
起初,但在回溯过程中会对列表进行评估。在这个帖子里,我想讨论的还有很多(我们有点离题了)。我会送你一个下午。

ASMI 发表于 2022-7-6 15:30:53

AutoLISP函数按目的排序

Lee Mac 发表于 2022-7-6 15:32:10

ASMI页面上的Bravo-非常有用

dawn 发表于 2022-7-6 15:35:37

大家好,
我是新来的论坛,并寻找一个Lisp程序例行程序,将提请从一个点。txt或。csv文件。看起来很简单,虽然几年前我在学校学的Lisp程序已经不复存在了,因为我从那以后就没用过它。
我查看了上面提到的一些网站和所有的铃声,但只是想知道我是否可以采取懒惰的方式,问这里的专家。
 
我正在使用Map 3D和Civil 3D-从a开始。dwg包含我希望在文字插入x、y、z处作为ACAD点对象的文字对象。经过一些操作后,我从文字对象中提取了所需的信息,但在将z值输入回基本ACAD点时遇到了问题。AECC_COGO_点似乎对我需要的东西没有帮助。
 
有什么帮助和建议吗?
 
谢谢

Lee Mac 发表于 2022-7-6 15:39:17

听起来你有两个要求-
 
我如何理解它(如果我错了,请纠正我!):
 
[列表=1]
[*]从txt文件创建ACAD点。
[*]从文本对象的插入点创建ACAD点。
这两个任务似乎都很合理,不应该成为LISP的问题
 
如果我有任何错误的信息,请纠正我,我会看看我能做些什么
 

Lee Mac 发表于 2022-7-6 15:43:45

也许是这个?(虽然写得很快,但未经测试!)
 

(defun c:pts (/ *error* vlst ovar chdef ans file ofile pt ss elst)
(defun *error* (msg)
   (if ovar (mapcar 'setvar vlst ovar))
   (princ (strcat "\n<!> Error: " (strcase msg) " <!>")) (princ))
(setq vlst '("CMDECHO") ovar (mapcar 'getvar vlst))
(setvar "CMDECHO" 0)
(or chdef (setq chdef "File")) (initget "File Text")
(setq ans (getkword (strcat "\nGet Point from File or Text? <" chdef "> : ")))
(if ans (setq chdef ans) (setq ans chdef))
(if (and (eq ans "File")
      (setq file (getfiled "Select a Text File" "" "txt" ))
   (progn
   (setq ofile (open file "R"))
   (while (setq pt (read-line ofile))
   (command "_POINT" pt))
   (close ofile))
   (progn
   (if (setq ss (ssget "X" (list (cons 0 "*TEXT")
       (if (getvar "CTAB")(cons 410 (getvar "CTAB"))
             (cons 67 (- 1 (getvar "TILEMODE")))))))
   (progn
   (setq elst (mapcar '(lambda (x) (cdr (assoc 10 x)))
                (mapcar 'entget (mapcar 'cadr (ssnamex ss)))))
   (foreach pt elst (command "_POINT" pt)))
   (princ "\n<!> No Text Found or no File Selected <!>"))))
(mapcar 'setvar vlst ovar)
(princ))

 
PS,可能需要一个mod来将这部分线程移动到一个新线程中,而不是hi-jacking这个线程。

dawn 发表于 2022-7-6 15:46:46

谢谢李的回复。
我不知道如何发布新的帖子-对不起,不是故意的。
 
我有一个带有x,y,z线的txt文件,我想将其作为ACAD点插入。我尝试了你发布的代码,出现了一个错误,没有能力解决这个问题。
 
中的值。txt文件我有我从ACAD中提取的文字对象,我想成为点。。。。。。如果有帮助的话?
 
谢谢你的帮助!
黎明

Lee Mac 发表于 2022-7-6 15:50:20

我认为我可能误解了您的请求-我使用了LISP,因此它将要求一个文本文件,其中点列为:
 
12,1,31等
 
或者,查找插入点用作ACAD点的文字对象。
 
出现了什么错误?

dawn 发表于 2022-7-6 15:51:50

ACH-它适用于中的文本。DWG!
 
谢谢你,李。

Lee Mac 发表于 2022-7-6 15:56:28

很高兴你成功了-只是出于兴趣,它对文本文件也有效吗?
 
页: 1 [2]
查看完整版本: 自我思考的新手