求通过读取CVS坐标生成三维点拟合成曲线
本帖最后由 偏爱云~小吴 于 2014-3-10 08:44 编辑求通过读取CVS坐标生成三维点,拟合成曲线,并与原模型进行比较的方法。
貌似好困难。
如何通过对三维坐标读取到DXF,自动或者半自动拟合成曲线,再根据拟合的曲线与压缩文件所示的三维模型进行比较(从X,YZ三个方向进行差值比较)
各位大神有好方法么
你试试,出来的图和你的好像不一样。
;;================================================================================================
;;用于将字符串按所要求的格式分隔成字符串表
(defun sparser (str delim / ptr lst)
(while (setq ptr (vl-string-search delim str))
(setq lst (cons (substr str 1 ptr) lst))
(setq str (substr str (+ ptr 2)))
)
(reverse (cons str lst))
)
;;需要输入文件路径,返回文件按行读取读取后的列表=====================================
(defun str-lst (lj / data_list ff data)
(progn
(setq data_list '()
ff (open lj "r")
data (read-line ff)
)
(while data
(setq data_list (cons data data_list)
data (read-line ff)
)
)
(reverse data_list)
) ;对表倒序排序,;输出列表
) ;edn defun
(defun c:testxx ()
(setq lst (str-lst "D:\\test.csv"))
(setq ptlst
(mapcar
'(lambda (x / a)
(setq a (sparser x ","))
(list (atof (nth 1 a)) (atof (nth 2 a)) (atof (nth 3 a)))
)
lst
)
)
(entmake (append
(list '(0 . "SPLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbSpline")
'(71 . 3)
)
(mapcar '(lambda (pt) (cons 11 pt)) ptlst)
)
)
) 这么多天都没有人接单啊。先实现如同soildworks里曲线生产的功能也行啊,大家有什么思路。CAD中读取排好序的坐标生产曲线的方法。有么有 目前已经通过手工处理数据,然后SPLINE,解决了,但如何实现自动批量读取数据 革天明 发表于 2014-3-11 12:51 static/image/common/back.gif
你试试,出来的图和你的好像不一样。
;;============================================================ ...
感谢,貌似楼上的程序可以解决了,还能帮忙略微优化下,实现用户选择读取哪一个数据文件,另外能否让数据文件的格式兼容多样化,什么TXT,XLS,CSV、DOC都兼容最好了,如果无法实现格式的多样化也无所谓,手动转一下也没关系的。再次感谢 兼容这些格式本身意义不大,除非是经常要使用到除txt之外的格式 革天明 发表于 2014-3-13 20:50 static/image/common/back.gif
兼容这些格式本身意义不大,除非是经常要使用到除txt之外的格式
那就麻烦先改第一次,手动转CSV也无所谓的
页:
[1]