cadshekar 发表于 2022-7-6 07:08:41

LISP帮助,CSV到3D Plin

有人能纠正这个问题吗-
范围:-从包含X、Y、Z的CSV文件中绘制3DPOLYLINE
方法:-LISP必须读取CSV文件d:\ccc。csv,得到X,Y和Z阀门,开始绘制3D多边形。
我试过了,但不起作用。
 

(defun c:zz()
(SETQ OS1 (GETVAR "OSMODE"))

(setq pp1 "d:\ccc.csv")
(setq ff (open pp1 "r"))

(while
   (setq f (read-line ff))
    (setq l1 (strlen f))
    (setq l2 (vl-string-search "," f))
    (setq f2 (substr f 1 l2))
    (setq east f2)
    (setq ff1 (substr f (+ l2 2) (- l1 (+ l2 1))))
    (setq l3 (vl-string-search "," ff1))
    (setq f2 (substr ff1 1 l3))
    (setq north f2)
    (setq l1 (strlen ff1))
    (setq ff2 (substr ff1 (+ l3 2) (- l1 (+ l3 1))))
    (setq l4 (vl-string-search "," ff2))
    (setq f2 (substr ff2 1 l4))
    (setq ele f2)
    (setq east1 (atof east))
    (setq north1 (atof north))
    (setq ele1 (atof ele))

(setq co1 (list east1 north1 ele1))
(eval 'co1)
   )
(close ff)
(command "3dpoly")
(foreach co1 co1 (command co1))
(command "")

)
 
请更正。。。拜托
cadshekar@gmail.com

SLW210 发表于 2022-7-6 07:34:47

cadshekar,
 
请阅读代码发布指南,并在帖子中添加代码标签。
 
请为新问题创建新帖子,我已将您的帖子移动到新帖子。

David Bethel 发表于 2022-7-6 07:48:11

如果csv文件格式正确
 
ie
123.45,56.78,9.123
987.6,54.3,2.001
 
那么也许:
 

(defun c:zz (/ pp1 ff f)
(setq pp1 "d:\\ccc.csv")
(setq ff (open pp1 "r"))

(command "_.3DPOLY")
(while (setq f (read-line ff))
      (command "_non" f))
(command "")

(close ff)
(prin1))

 
 
-大卫

BIGAL 发表于 2022-7-6 08:00:02

像David一样,如果文件格式正确,则在记事本中打开文件,复制所有行,只需在Autocad的命令行中键入Pline,然后粘贴到命令行即可。

cadshekar 发表于 2022-7-6 08:20:48

谢谢,非常感谢。
cadshekar@gmail.com
页: [1]
查看完整版本: LISP帮助,CSV到3D Plin