明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1991|回复: 6

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

[复制链接]
发表于 2014-3-9 22:11:02 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 偏爱云~小吴 于 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)) ) ;;需要输 ...
发表于 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
你试试,出来的图和你的好像不一样。
;;============================================================ ...

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

使用道具 举报

发表于 2014-3-13 20:50:59 | 显示全部楼层
兼容这些格式本身意义不大,除非是经常要使用到除txt之外的格式
回复

使用道具 举报

 楼主| 发表于 2014-3-13 22:20:56 | 显示全部楼层
革天明 发表于 2014-3-13 20:50
兼容这些格式本身意义不大,除非是经常要使用到除txt之外的格式

那就麻烦先改第一次,手动转CSV也无所谓的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-23 10:36 , Processed in 0.243739 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表