lixang 发表于 2007-8-19 21:03:00

如何获取spline与1000条直线交点坐标值?

我画了一条spline(方程未知),现在我画出了1000条竖直线,每条直线与我画的spline仅有一个交点!<br/>所以能得到1000个交点。那么如何将这1000个点的值提取出来放到txt文件中呢?或者其他文件中呢!<br/>因为我很急需!<br/>(当然我1000条直线可能还不够,所以不希望自己一个一个来扑捉!故请各位指点!)<br/><br/>

yhx2008 发表于 2007-8-19 22:32:00

想到的笨办法:用多段线沿每个交叉点画线,画完后,用list命令就可以显示出坐标了,然后复制到word进行编辑,做成表格什么的。

highflybir 发表于 2007-8-19 23:21:00



(vl-load-com)
(defun c:test (/ i j file ent spl sel ptl pts)
(setq j 1)
(if (setq file (getfiled "存储文件" "c:/" "txt" 1))
    (progn
      (setq file (open file "A"))
      (while (and (setq ent (car (entsel "\n请选取spline线: ")))
    (Setq spl (vlax-ename->vla-object ent))
    (setq sel (ssget '((0 . "LINE"))))
      )
(setq i 0)
(setq ptl nil)
      (princ (strcat "\n第" (itoa j) "根spline线的数据:") file)
(repeat (sslength sel)
   (setq obj (vlax-ename->vla-object (ssname sel i)))
   (if (Setq pts (vlax-invoke spl 'Intersectwith Obj Acextendnone))
   (progn
       (setq ptl (cons (list (car pts) (cadr pts) (caddr pts)) ptl))
       (princ "\n" file)
       (princ pts file)
   )
   )
   (setq i (1+ i))
)
(setq j (1+ j))
      )
      (close file)
      ptl
    )
)
)
加载上面的程序运行命令: test
然后选择线段,先选择spline线,然后选择直线,就能完成你说的1000个交点,甚至1000000个也可以。
命令能够连续使用。

highflybir 发表于 2007-8-19 23:36:00

<p>下面的为可以控制精度的。我这里设定为小数点后8位,你可以把8改称你想要的精度</p>

lzu1797 发表于 2007-8-20 11:44:00

<p>多謝樓上</p><p>好東西收下啦</p>

lixang 发表于 2007-8-20 14:23:00

<font face="Verdana" color="#da2549"><b>谢谢大家的帮助!<br/></b></font><font face="Verdana" color="#da2549"><b>谢谢highflybir</b></font><br/><font face="Verdana" color="#da2549"><b>    你们给出的程序怎样在cad里使用呀!能说具体点么?<br/>谢谢因为我很菜!<br/></b></font>

highflybir 发表于 2007-8-20 16:37:00

<p></p><p>这个是录像文件,可以先运行命令ap 或者从菜单中选择-“工具”-“加载应用程序”,然后找到你下载的那个1000spline-line.lsp的文件,加载运行即可。</p>

雨行龙 发表于 2012-3-15 17:41:21

highflybir 发表于 2007-8-20 16:37 static/image/common/back.gif
这个是录像文件,可以先运行命令ap 或者从菜单中选择-“工具”-“加载应用程序”,然后找到你下载的那个100 ...

老师,为什么昨天还能用,今天就不行了啊
选择spline后,出现这个啊:
选取spline线: ; 错误: no function definition: VLAX-ENAME->VLA-OBJECT

Andyhon 发表于 2012-3-15 18:15:30

雨行龙 发表于 2012-3-15 17:41 static/image/common/back.gif
老师,为什么昨天还能用,今天就不行了啊
选择spline后,出现这个啊:
选取spline线: ; 错误: no funct ...

应是漏了 (vl-load-com)

歪歪^︵^ 发表于 2012-3-24 08:48:27

highflybir 发表于 2007-8-20 16:37 static/image/common/back.gif
这个是录像文件,可以先运行命令ap 或者从菜单中选择-“工具”-“加载应用程序”,然后找到你下载的那个100 ...

老师,我这个为什么显示是错误的?------错误: 参数类型错误: FILE nil
页: [1] 2
查看完整版本: 如何获取spline与1000条直线交点坐标值?