偏爱云~小吴 发表于 2014-3-9 22:11:02

求通过读取CVS坐标生成三维点拟合成曲线

本帖最后由 偏爱云~小吴 于 2014-3-10 08:44 编辑

求通过读取CVS坐标生成三维点,拟合成曲线,并与原模型进行比较的方法。
貌似好困难。
如何通过对三维坐标读取到DXF,自动或者半自动拟合成曲线,再根据拟合的曲线与压缩文件所示的三维模型进行比较(从X,YZ三个方向进行差值比较)
各位大神有好方法么

革天明 发表于 2014-3-9 22:11:03


你试试,出来的图和你的好像不一样。
;;================================================================================================
;;用于将字符串按所要求的格式分隔成字符串表
(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)
           )
)
)

偏爱云~小吴 发表于 2014-3-11 12:01:22

这么多天都没有人接单啊。先实现如同soildworks里曲线生产的功能也行啊,大家有什么思路。CAD中读取排好序的坐标生产曲线的方法。有么有

偏爱云~小吴 发表于 2014-3-11 12:33:03

目前已经通过手工处理数据,然后SPLINE,解决了,但如何实现自动批量读取数据

偏爱云~小吴 发表于 2014-3-12 21:37:00

革天明 发表于 2014-3-11 12:51 static/image/common/back.gif
你试试,出来的图和你的好像不一样。
;;============================================================ ...

感谢,貌似楼上的程序可以解决了,还能帮忙略微优化下,实现用户选择读取哪一个数据文件,另外能否让数据文件的格式兼容多样化,什么TXT,XLS,CSV、DOC都兼容最好了,如果无法实现格式的多样化也无所谓,手动转一下也没关系的。再次感谢

革天明 发表于 2014-3-13 20:50:59

兼容这些格式本身意义不大,除非是经常要使用到除txt之外的格式

偏爱云~小吴 发表于 2014-3-13 22:20:56

革天明 发表于 2014-3-13 20:50 static/image/common/back.gif
兼容这些格式本身意义不大,除非是经常要使用到除txt之外的格式

那就麻烦先改第一次,手动转CSV也无所谓的
页: [1]
查看完整版本: 求通过读取CVS坐标生成三维点拟合成曲线