找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1254|回复: 19

[求助] 如图。

[复制链接]

已领礼包: 8个

财富等级: 恭喜发财

发表于 2018-10-22 01:12:23 | 显示全部楼层 |阅读模式

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

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

×
见贴图。
如何点取白色PLINE线,生成绿色PLINE线?
前提,白色线假设大小足够。 w.jpg

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

已领礼包: 20个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-10-22 03:39:23 | 显示全部楼层
本帖最后由 newer 于 2018-10-22 03:43 编辑

五角星内偏-1.gif

  1. (defun c:tt ()
  2.   (defun _draw (e dis / p vec i p1 pts)
  3.     (setq i 0)
  4.     (repeat (xdrx_polyline_numverts e);;多段线顶点数循环
  5.       (setq p        (xdrx_polyline_getpointat e i);;指定索引顶点
  6.             vec        (xdrx_getpropertyvalue e "AngularLineVector" i);;指定索引角分线向量
  7.             i        (1+ i)
  8.             p1        (mapcar '+ p (xdrx_vector_product vec dis));;距离乘以单位向量求偏移点
  9.       )
  10.       (if (not (xdrx_point_isinside p1 e));;点不在多边形内,翻转向量求内部点
  11.         (setq p1 (mapcar '+ p (xdrx_vector_product vec (- dis))))
  12.       )
  13.       (setq pts (cons p1 pts))
  14.     )
  15.     (xdrx_polyline_make pts t);;点表生成多段线
  16.     (xdrx_setpropertyvalue  (entlast) "color" (xdrx_math_rand 255));;0-255随机颜色
  17.   )
  18.   (if (and (setq e (car (xdrx_entsel "\n拾取五角星<退出>:" '((0 . "*polyline")))))
  19.          (/= "" (setq dists (getstring "\n输入偏移距离,多个逗号分开<退出>:")))
  20.     )
  21.      (progn (xdrx_begin)
  22.             (mapcar '(lambda (x) (_draw e (atof x)))
  23.                     (xdrx_string_split dists ",")
  24.             )
  25.             (xdrx_end)
  26.      )
  27.   )
  28.   (princ)
  29. )


点评

不必这么麻烦,直接O,便宜,150,即可。。  详情 回复 发表于 2018-10-22 11:35
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2018-10-22 11:35:23 | 显示全部楼层

不必这么麻烦,直接O,便宜,150,即可。。

点评

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-10-22 12:43:19 | 显示全部楼层
再见熊猫衣服 发表于 2018-10-22 11:35
不必这么麻烦,直接O,便宜,150,即可。。

注意审题哦,你画个试试

点评

如果不用其他的插件,用纯粹的lsp或alisp 呢?这个功能是用在一个很奇怪的程序处理上的。别人的机器要求他们都装这个 XDRX api可能有难度  详情 回复 发表于 2018-10-22 13:39
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-22 13:39:12 | 显示全部楼层
newer 发表于 2018-10-22 12:43
注意审题哦,你画个试试

如果不用其他的插件,用纯粹的lsp或alisp 呢?这个功能是用在一个很奇怪的程序处理上的。别人的机器要求他们都装这个 XDRX api可能有难度

点评

那你就把代码流程,翻译用普通LISP去实现好了  详情 回复 发表于 2018-10-22 14:08
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-22 13:40:57 | 显示全部楼层
(not (xdrx_point_isinside p1 e));;点不在多边形内,翻转向量求内部点
这个很关键。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-10-22 14:08:05 | 显示全部楼层
前生 发表于 2018-10-22 13:39
如果不用其他的插件,用纯粹的lsp或alisp 呢?这个功能是用在一个很奇怪的程序处理上的。别人的机器要求 ...

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

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2018-10-22 15:08:21 | 显示全部楼层
不用麻烦,O,偏移,也是可以设定距离和图层颜色的。。

点评

你O能偏移出来,你偏移下试试? 仔细看图 你用O能偏移的是下面这样的,和上面图一样吗? [attachimg]81291[/attachimg]  详情 回复 发表于 2018-10-22 15:21
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-10-22 15:21:17 | 显示全部楼层
再见熊猫衣服 发表于 2018-10-22 15:08
不用麻烦,O,偏移,也是可以设定距离和图层颜色的。。

你O能偏移出来,你偏移下试试?

仔细看图


                               
登录/注册后可看大图



你用O能偏移的是下面这样的,和上面图一样吗?


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

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2018-10-23 01:47:12 | 显示全部楼层
(mapcar 'cdr
            (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en))
    )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 85个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 3442个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 6434个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 2107个

财富等级: 金玉满堂

发表于 2018-10-23 15:10:09 | 显示全部楼层
本帖最后由 newer 于 2018-10-23 15:19 编辑

  1. (defun c:tt ()  (defun vxs (e / i v lst)
  2.     (setq i -1)
  3.     (while (setq v (vlax-curve-getpointatparam e (setq i (1+ i))))
  4.       (setq lst (cons v lst))
  5.     )
  6.     (reverse lst)
  7.   )
  8.   (defun GetCentroid (poly / AXERR CEN PL REG VA)
  9.     (setq pl (vlax-ename->vla-object poly)
  10.           va (vlax-make-safearray vlax-vbObject '(0 . 0))
  11.     )
  12.     (vlax-safearray-put-element va 0 pl)
  13.     (setq axErr (VL-CATCH-ALL-APPLY
  14.                   'vla-addregion
  15.                   (list (vla-get-modelSpace
  16.                           (vla-get-ActiveDocument (vlax-get-acad-object))
  17.                         )
  18.                         va
  19.                   )
  20.                 )
  21.     )
  22.     (if (VL-CATCH-ALL-ERROR-P axErr)
  23.       nil
  24.       (progn (setq reg (car (vlax-safearray->list (vlax-variant-value axErr)))
  25.                    cen (vla-get-centroid reg)
  26.              )
  27.              (vla-delete reg)
  28.              (vlax-safearray->list (vlax-variant-value cen))
  29.       )
  30.     )
  31.   )
  32.   (prompt "\n拾取五角星<退出>:")
  33.   (if (and (setq e (ssname (ssget "+.:S" '((0 . "*polyline"))) 0))
  34.            (/= ""
  35.                (setq dist (getreal "\n输入偏移距离<正值向内,负值向外>:"))
  36.            )
  37.       )
  38.     (progn (setq pt_lst (vxs e))
  39.            (Setq cen (GetCentroid e))
  40.            (setq pt2_lst (mapcar '(lambda (x) (polar x (angle x cen) dist)) pt_lst))
  41.            (entmake (append (list '(0 . "LWPOLYLINE")
  42.                                   '(100 . "AcDbEntity")
  43.                                   '(100 . "AcDbPolyline")
  44.                                   '(62 . 3)
  45.                                   (cons 90 (length pt2_lst))
  46.                             )
  47.                             (mapcar '(lambda (x) (cons 10 x)) pt2_lst)
  48.                     )
  49.            )
  50.     )
  51.   )
  52.   (princ)
  53. )

其他自己深化。。。
其中引用了前辈的LISP和格式,在此表示谢谢。

点评

谢谢! 这几天空下来的时候,自己用笨的办法,写一个。  详情 回复 发表于 2018-10-24 00:58

评分

参与人数 1D豆 +5 收起 理由
newer + 5 热心帮忙奖!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 19:54 , Processed in 0.563658 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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