找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1180|回复: 6

[编程申请]:如何在PLINE中加点!急! 急! 急!

[复制链接]
发表于 2002-2-5 00:20:19 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-2-5 01:14:38 | 显示全部楼层

Re: [编程申请]:如何在PLINE中加点!急! 急! 急!

最初由 云中人 发布
[B]要求在PLINE中点一下,就在那段线中加拉一个点。加三个最好!!!:6 :6 :6 :6 :6 [/B]


请用XDRX_API

283. xdrx_polyline_addVertexAt

功能:在指定索引位置处增加一个顶点

调用格式:(xdrx_polyline_addVertexat <LWPOLYLINE实体名> <index索引值> <点> [bulge值] [起始宽度][结束宽度])
          (xdrx_polyline_addVertexat <index索引值> <点> [bulge值] [起始宽度][结束宽度])
         
返回值:成功T, 否 NIL

说明:参数 [bulge值] [起始宽度][结束宽度]都为可选项,默认值都为0 ,后面的可选项若要设置必须前面的可选项也设置,但
      该可选项后面的若要默认值,可以省略。
      [bulge值]--实数,若加弧段给BULGE值。0退化为直线
      [起始宽度],[结束宽度]--实数值或者整数值。
      
284. xdrx_polyline_removeVertexAt

功能:移去一个顶点

调用格式:(xdrx_polyline_removeVertexAt <LWPOLYLINE实体名> <index索引值>)     
          (xdrx_polyline_removeVertexAt  <index索引值>)   
         
返回值:成功T 失败NIL

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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-2-5 14:45:00 | 显示全部楼层
最初由 云中人 发布
[B]谢谢!一下要是加3个就更好! [/B]


循环做啊

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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-2-5 21:22:51 | 显示全部楼层
最初由 云中人 发布
[B]有时加点会连错!奇怪! [/B]


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

使用道具 举报

发表于 2002-2-5 21:47:43 | 显示全部楼层


  1. (defun c:plve ( / os en entl pt ptend)
  2.   (princ "\n plve====lwpolyline vert edit,增加/删除pl线顶点--vb1.0--------lxx.2001.7")
  3.   (setvar "modemacro" "plve.多义线顶点增删程序--梁雄啸.2001")
  4.   (setvar "cmdecho" 0)
  5.   (setvar "osmode" 551)
  6.   (princ "\n当取点为 pl 线的顶点时---删除/否---增加顶点")
  7.   (setq        os   (getvar "osmode")
  8.         en   (entsel "\n选择要增/删顶点的多义线:")
  9.         ent  (car en)
  10.   )
  11.   (initget 128)
  12.   (princ "\n!!!取点为 pl 线的顶点时==>删除 / 否==>增加顶点!!!")
  13.   (while
  14.     (setq pt (getpoint "\n自动识别增&删--取点/enter-退出:")) ;enter--重新选择pl线
  15.     (setq entl (entget ent))
  16.     (setvar "modemacro" "")
  17.     (if
  18.        (and (setq ptend (osnap pt "_end"))
  19.             (member (cons 10 (list (car ptend)(cadr ptend))) entl)
  20.        )
  21.         (if (equal pt ptend)
  22.           (eplv);删除顶点
  23.           (aplv);增加顶点
  24.         )
  25.     );endif
  26.   ); end while
  27.   (setvar "osmode" os)
  28.   (princ)
  29. )
  30. ;;;;删除顶点
  31. (defun eplv ( / ptl entl2)
  32.   (princ "\nok")
  33.   (setq        ptl (cons 10 (list (car pt) (cadr pt) ));点对
  34.         entl2 '()
  35.   )
  36.   (foreach n entl
  37.     (if        (not(equal n ptl))
  38.         (setq entl2 (cons n entl2))
  39.     )
  40.   )
  41.   (setq entl (reverse entl2))
  42.   (entmod entl)
  43. )
  44. ;;;;增加顶点
  45. (defun aplv ()
  46.   (initget 129)
  47.   (setq npt (getpoint pt "\n 新的定位点/X-不做变动/<enter--原选择点>:"))
  48.   (if
  49.     (= (type pt) 'LIST)
  50.     (progn
  51.       (print "\nok")
  52.       (command "_.break" ent pt "@" ^c
  53.              "_.pedit" ent "j" (entlast) "" ^c
  54.       );  打断
  55.       (print "\n brk")
  56.       (while (= (type npt) 'LIST)            ;新的定位点
  57.           (print "enter")
  58.           (setq entl (entget ent) ; 更新
  59.                 ptl (cons 10 (list (car pt)(cadr pt)))
  60.                 nptl (cons 10 (list (car npt)(cadr npt)))
  61.                 entl2 '())
  62.           (foreach n entl
  63.             (if (equal n ptl)
  64.                 (setq entl2 (cons nptl entl2))
  65.                 (setq entl2 (cons n entl2))
  66.             )
  67.           )  ;  表项替换
  68.           (setq entl (reverse entl2)
  69.                 npt nil)
  70.           (entmod entl)
  71.       );  end while
  72.     );  end progn
  73.   );  end cond
  74. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-20 14:29 , Processed in 0.413477 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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