明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 品茗新秀

[提问] 求各个多线的总长度,同时减去对应多线上直线的长度

[复制链接]
 楼主| 发表于 2014-4-23 01:05:15 | 显示全部楼层
xyp1964 发表于 2014-4-22 23:22
给出算式:

给人的感觉是取得多线的长度,取得各多线的顶点,然后排序,再选择得对应的直线,取得直线的长度,然后两数相减,得差值。具体怎样,实在想不起来
回复

使用道具 举报

发表于 2014-4-23 08:51:55 | 显示全部楼层
具体怎样,实在想不起来
回复

使用道具 举报

发表于 2014-4-23 10:19:58 | 显示全部楼层
品茗新秀 发表于 2014-4-23 01:04
给人的感觉是取得多线的长度,取得各多线的顶点,然后排序,再选择得对应的直线,取得直线的长度,然后两 ...

  1. ;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF 访问密码 2ffa

  2. (defun c:tt ()
  3.   (xyp-CMDLA0)
  4.   (setq i -1)
  5.   (if (setq ss (ssget '((0 . "*polyline"))))
  6.     (while (setq s1 (ssname ss (setq i (1+ i))))
  7.       (setq ptn        (xyp-get-Vertexs s1 0)
  8.             ptn        (cons (last ptn) ptn)
  9.             ptn        (xyp-Ptn-Offset ptn 100 t t)
  10.             l1        (xyp-CurveLength s1)
  11.       )
  12.       (if (setq ss1 (ssget "cp" ptn '((0 . "line"))))
  13.         (progn
  14.           (setq        lst (xyp-ss2list ss1)
  15.                 lst (mapcar 'xyp-CurveLength lst)
  16.                 l2  (apply '+ lst)
  17.                 l3  (- l1 l2)
  18.                 tx  (strcat (rtos l1 2 2) "-" (rtos l2 2 2) "=" (rtos l3 2 2))
  19.                 s2  (xyp-Text 5 (xyp-9pt s1 5) tx)
  20.           )
  21.         )
  22.       )
  23.     )
  24.   )
  25.   (xyp-CMDLA1)
  26. )
回复

使用道具 举报

 楼主| 发表于 2014-4-23 15:33:28 | 显示全部楼层
顶出高手,让初学者们学习一下

点评

淡定。。。楼主就是来要结果的,看明白了就好  发表于 2014-4-24 16:34
随便弄点你自己写的出来,让高人评价一下你的学习效果就不会再有人怀疑你的认真劲了  发表于 2014-4-23 18:31
顶你个肺!院长都给你思路了,还想怎样?还要别人给你鱼?  发表于 2014-4-23 16:11
回复

使用道具 举报

发表于 2014-4-23 17:30:35 | 显示全部楼层
取得各顶点值那么就可依之扫描出短线了 (ssget "F" ...
acet-geom-pline-point-list
or
acet-geom-object-point-list

请教:如何提取多段线的周长和面积
http://bbs.mjtd.com/thread-96592-1-1.html

如何计算所点选的所有线段长
http://bbs.mjtd.com/thread-83098-1-1.html
回复

使用道具 举报

发表于 2014-4-23 18:27:39 | 显示全部楼层
本帖最后由 llsheng_73 于 2014-4-23 18:29 编辑

多线段的顶点坐标不能进行排序,排序后多半不能用了
用多线段顶点表进行sset “f"选取直线,再把直线起止点不在多线段上的全部排除掉剩下的就是被多线段压盖的短直线
回复

使用道具 举报

 楼主| 发表于 2014-4-24 11:36:14 | 显示全部楼层
本帖最后由 品茗新秀 于 2014-4-24 11:37 编辑
llsheng_73 发表于 2014-4-23 18:27
多线段的顶点坐标不能进行排序,排序后多半不能用了
用多线段顶点表进行sset “f"选取直线,再把直线起止点 ...

我太菜了,还是再顶顶,争取顶出高手让初学者们学习一下
回复

使用道具 举报

发表于 2014-4-24 14:46:30 | 显示全部楼层
品茗新秀 发表于 2014-4-24 11:36
我太菜了,还是再顶顶,争取顶出高手让初学者们学习一下

用vlax-curve-getClosestPointTo判断直线起点或尾点倒多线距离来确定是否在多线上
回复

使用道具 举报

发表于 2014-4-25 11:03:23 | 显示全部楼层
哈哈!这位楼主非常有意思,也很大方和有钱
回复

使用道具 举报

发表于 2014-4-25 11:29:59 | 显示全部楼层
陨落 发表于 2014-4-25 11:03
哈哈!这位楼主非常有意思,也很大方和有钱

有钱就直接付人民币找别人开发哟,哪有这样的,发了61个主题都是求,G版都看不下去了,还总是自顶,当这里的高手都是他家请的员工?高手们也需要工作,也需要休息,为什么就不能耐心等待?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-24 22:30 , Processed in 0.150692 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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