找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 331|回复: 6

[每日一码] XdGe::Constructor函数用法,求助

[复制链接]

已领礼包: 58个

财富等级: 招财进宝

发表于 2017-7-18 15:00:03 | 显示全部楼层 |阅读模式

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

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

×
已有点表,想不通过建立实体pline线,再求某一点与该pline线最近点。
用XdGe::Constructor能建立kAugPolyline3d,求该点与kAugPolyline3d的最近点么。
求一个简单的范例
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-7-18 15:10:06 | 显示全部楼层
你是想建立二维(LW)多段线还是AcDb3dPolyline?

你查下ARX的帮助手册,API对AcGeCurve3d,AcGeCurve2d下的都支持创建。

你如果要创建LWPOLYLINE(POLYLINE)的几何实体,有几种方法:

1:(xdge::constructor ent)   ent是LWPOLYLINE,POLYLINE的数据库DB实体名
2:(xdge::constructor "kCompoSiteCrv3d" '(点1......点n) '(bulge1.....bulgen)) ,不给bulge表,创建直线段组成的
3:(setq ge (xdge::constrcutor "kCompoSiteCrv3d"))
    (xdge::setpropertyvalue ge "setcurvelist" elst)   elst是AcGeLineSeg3d,AcGeCircArc3d表(先创建的)

....

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-7-18 15:22:37 | 显示全部楼层
如果你有点表,想求最近点
下面代码:

  1. (defun c:tt ()
  2.   (if
  3.     (and (setq
  4.            e (car
  5.                (xdrx_entsel "\n选取多段线<退出>:" '((0 . "*POLYLINE")))
  6.              )
  7.          )
  8.          (setq pts (xdrx_getpropertyvalue e "vertices"));;得到多段线点表
  9.          (setq ge (xdge::constructor "kCompositecrv3d" pts));;创建kCompositecrv3d几何对象
  10.          (setq pt (getpoint "\n点取多段线外一点<退出>:"))
  11.          (setq nea (xdge::getpropertyvalue
  12.                      ge
  13.                      "getclosestpointto"
  14.                      (trans pt 1 0)
  15.                    )
  16.          );nea是"kPointOnCurve3d"对象
  17.          (setq nea (xdge::getpropertyvalue nea "point"))
  18.     )
  19.      (progn
  20.        (xdrx_line_make pt nea) ;;线外一点到最近点画线
  21.      )
  22.   )
  23.   (princ)
  24. )


上面是为了得到点表构建才用的(setq pts (xdrx_getpropertyvalue e "vertices")),为了演示。
如果有点表,可以直接用点表构建AcGeCompoSiteCrv3d

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-7-18 18:17:35 | 显示全部楼层
两个主要的函数可以对几何实体的属性进行查询和修改
1:xdge::getpropertyvalue
2:xdge::setpropertyvalue

几何实体的属性和方法查询函数
(xdge::getpropertyvalue ge) ge不给后面参数,屏幕打印出支持的属性和方法

几何实体的属性修改函数
(xdge::setpropertyvalue ge) ,不给ge后面的参数,屏幕打印支持的修改的方法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 58个

财富等级: 招财进宝

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 23:06 , Processed in 0.376003 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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