找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1742|回复: 9

[文章]:关于圆弧用PLINE线加密

[复制链接]
发表于 2008-6-15 22:59:47 | 显示全部楼层 |阅读模式

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

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

×
由于经常需要将CAD 中的圆弧经过PLINE线加密的方式输出,但是没有好的办法。同常是用div或measure的方法将圆弧分成若干段,然后再用PLINE连接。一旦加密点多达上百个点后画起来就格外头疼。所以最近想用LIST来实现上面加密的两种情况。我一开始考虑用画多边形的方法来加密,但是后来发现多边形最多只能画1024条边,有时达不到加密的精度。后来考虑用极坐标的思路来解决div的实现。对于measure的实现确实分的头疼,不只各位有什么高见!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-6-16 07:38:36 | 显示全部楼层
2pl程序:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2009-9-23 09:58:38 | 显示全部楼层
怎么没有程序代码啊,迫切需要
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-10-6 21:58:17 | 显示全部楼层
可在网盘http://ljttjl.ys168.com  20080420 目录下载 任意曲线转换成多段线程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2009-10-19 21:11:22 | 显示全部楼层
(defun Arc2PL(ent cell mode delif / obj pts ang1 ang2 ang num num1 len addif dist pt rtn nn)
  ;;功能:弧线转折线
  ;;cell是最小距离
  ;;mode=0 距离优先,如果弧长较小,以角度优先 10度1段
  ;;mode=1 强制距离优先
  ;;delif 表示是否删除原来的弧
  (setq obj (vlax-ename->vla-object ent))
  (setq ang1 (vla-get-startangle obj) ang2 (vla-get-endangle obj))
  (setq ang (/ (* 180.0 (- ang2 ang1)) pi))
  (setq num (/ ang 10.0))
  (if (> (- num (fix num)) 0)
    (setq num1 (1+ num))
    (setq num1 num)
    )
  (setq num1 (fix num1))
  (setq len (vla-get-ArcLength obj))
  (if (or (> (/ len num1) cell) (= mode 1))
    (progn
      (setq num1 (/ len cell))
      (if (> (- num1 (fix num1)) 0);;是否添加尾点
        (setq addif T)
        (setq addif nil)
        )
      (setq num1 (fix num1) pts (list (V3d->L3d(vla-get-startpoint obj))) nn 1)
      (repeat num1
        (setq dist (* cell nn) nn (1+ nn))
        (setq pt (vlax-curve-getpointatdist obj dist))
        (setq pts (cons pt pts))
        )
      (if addif
        (setq pts (cons (v3d->l3d(vla-get-endpoint obj)) pts))
        )
      (setq pts (reverse pts))
      (setq rtn (list (drawPL pts nil) pts))
      (if delif
        (entdel ent)
        )
      )
    (progn
      (if (<= num 1)
        (progn
          (setq pts (list (v3d->l3d (vla-get-startpoint obj)) (v3d->l3d (vla-get-endpoint obj))))
          )
        (progn
          (if (>  num (fix num))
            (setq addif T)
            (setq addif nil)
            )
          (setq cell (/ len num) num (fix num) pts (list (V3d->L3d(vla-get-startpoint obj))) nn 1 )
          (repeat num
            (setq dist (* cell nn) nn (1+ nn))
            (setq pt (vlax-curve-getpointatdist obj dist))
            (setq pts (cons pt pts))
            )
          (if addif
            (setq pts (cons (v3d->l3d(vla-get-endpoint obj)) pts))
            )
          (setq pts (reverse pts))
          
          )
        )
      (setq rtn (list (drawPL pts nil) pts))
      (if delif
        (entdel ent)
        )
      )
    )
  rtn
  )

(defun DrawPL(lst CleIf /  cosmode nn rtn)
  ;;功能:根据列表绘制pl线
  (setq nn 0 Cosmode (getvar "osmode"))
  (setvar "osmode" 0)
  (command "pline")  
  (repeat (length lst)
    (command (nth nn lst))
    (setq nn (1+ nn))
    )
  (if cleif
    (command "c")
    (command "")
    )
  (setvar "osmode" cosmode)
  (setq rtn (entlast))
  rtn
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 8859个

财富等级: 富甲天下

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 02:21 , Processed in 0.244753 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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