找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1647|回复: 7

[求助] 修改三角网问题

[复制链接]

已领礼包: 720个

财富等级: 财运亨通

发表于 2017-2-9 10:31:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 newer 于 2017-2-9 10:41 编辑

类似于cass中“重组三角形”这个命令,
我自己参照一组三角形进行编写可以了,再修改其他的三角形就失败了
请高手给与指正,谢谢

;;; 46.2 [功能] pline,lwpline点坐标表  By 无痕
;;; 示例(vxs (car (entsel))),返回三维点坐标
(defun vxs (e / i v lst)
  (setq i -1)
  (while (setq v (vlax-curve-getpointatparam e (setq i (1+ i))))
    (setq lst (cons v lst))
  )
  (reverse lst)
)
(VL-LOAD-COM)
(defun c:tt ()                               ; (setq lst '())
  (setq ssa (ssget '((0 . "POLYLINE"))))
  (setq i 0
        lst '()
  )
  (repeat (sslength ssa)
    (setq en (ssname ssa i)
          ptb (vxs en)                       ;   (entdel en)
          ptb (plf-Lst-DelSame1 ptb)
          pzx (append
                pzx
                (list ptb)
              )
          i (1+ i)
    )                                       ;          (setq lst (PLF-Lst-Append
                                       ; (car pzx) (cadr pzx)))
    (setq lst pzx)
  )
  (setq list1 (list (last (cadr lst)) (car (car lst)) (cadr (car lst))
                    (last (cadr lst))
              )
  )
  (setq list2 (list (last (cadr lst)) (cadr (car lst)) (caddr (car lst))
                    (last (cadr lst))
              )
  )
  (mk3DPOLYLINE list1)
  (mk3DPOLYLINE list2)
  (entdel ssa)
  (princ)
)
;;; end defun
(defun plf-Lst-DelSame1 (l)
  (if l
    (cons (car l) (plf-Lst-DelSame1 (vl-remove (car l) l)))
  )
)
;;; 三维点表绘制3D多段线
(defun mk3DPOLYLINE (ptlst)
  (entmake (list '(0 . "POLYLINE") '(100 . "AcDbEntity") '(100 . "AcDb3dPolyline")
                 '(66 . 1) '(70 . 8)
           )
  )
  (foreach pt ptlst
    (entmake (list '(0 . "vertex") (cons 10 pt) '(70 . 32)))
  )
  (entmake '((0 . "seqend")))
)


11.JPG

修改三角网(失败).lsp

1.47 KB, 下载次数: 7, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 86个

财富等级: 招财进宝

发表于 2017-2-9 11:21:49 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 720个

财富等级: 财运亨通

 楼主| 发表于 2017-2-9 15:09:32 | 显示全部楼层

感谢啥啊    不成功    等待高手改造呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2017-2-10 10:01:18 | 显示全部楼层
继续努力,直到问题解决。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2017-2-10 22:15:48 | 显示全部楼层
用 xdrxapi 给你个思路,一次选择连个相邻的三角形,对角线交换

  1. (defun c:tt (/ ss e1 e2 pts pts1 pts2 p1 p2 i1 i2)
  2.   (while (and (setq ss (ssget '((0 . "polyline"))))
  3.            (= (sslength ss) 2)
  4.       )
  5.     (progn
  6.       (setq e1         (ssname ss 0)
  7.             e2         (ssname ss 1)
  8.             pts1 (xdrx_getpropertyvalue e1 "stretchpoint")
  9.             pts2 (xdrx_getpropertyvalue e2 "stretchpoint")
  10.             pts         (vl-remove-if
  11.                    (function (lambda (x) (not (member x pts2))))
  12.                    pts1
  13.                  )
  14.             p1         (car
  15.                    (vl-remove-if (function (lambda (x) (member x pts2))) pts1)
  16.                  )
  17.             p2         (car
  18.                    (vl-remove-if (function (lambda (x) (member x pts1))) pts2)
  19.                  )
  20.       )
  21.       (setq i1 (vl-position (car pts) pts1)
  22.             i2 (vl-position (cadr pts) pts2)
  23.       )
  24.       (xdrx_entity_movestretchpoint
  25.         e1
  26.         (mapcar '- p2 (car pts))
  27.         i1
  28.       )
  29.       (xdrx_entity_movestretchpoint
  30.         e2
  31.         (mapcar '- p1 (cadr pts))
  32.         i2
  33.       )
  34.     )
  35.   )
  36.   (princ)
  37. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 720个

财富等级: 财运亨通

 楼主| 发表于 2017-2-11 17:27:34 | 显示全部楼层

谢谢你            
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2017-2-12 23:07:54 | 显示全部楼层
三角网不是正方形等特殊图形,是唯一的,为什么要互换呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 720个

财富等级: 财运亨通

 楼主| 发表于 2017-2-16 18:40:41 | 显示全部楼层

三角网在生成时候  有时候是不符合实际地形的   需要修改一下   对边转换
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 14:20 , Processed in 0.196682 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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