找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2836|回复: 18

[寻找]:求能实现简易的尺寸驱动功能的程序。谢谢!

[复制链接]
发表于 2005-3-18 00:08:15 | 显示全部楼层 |阅读模式

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

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

×
觉得过去使用大恒和InteCAD时的单边尺寸、对称尺寸以及角度的驱动功能很不错,选择尺寸、选择驱动边界或对称中心就完成了,不是在参数化作图下进行的,后来知道大概是用stretch来实现的,但自己头脑简单,水平太差,各位高手看能否提供一个(可能是3个)程序,非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-18 07:56:41 | 显示全部楼层
我也有这个想法,请高手赐教
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-18 11:34:13 | 显示全部楼层

Re: [寻找]:求能实现简易的尺寸驱动功能的程序。谢谢!

最初由 whzhen 发布
[B]觉得过去使用大恒和InteCAD时的单边尺寸、对称尺寸以及角度的驱动功能很不错,选择尺寸、选择驱动边界或对称中心就完成了,不是在参数化作图下进行的,后来知道大概是用stretch来实现的,但自己头脑简单,水平太差,... [/B]


我只实现了对称尺寸的类似驱动,长度尺寸单边驱动有点复杂,还没有想好过。看下图动画
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-4-14 22:05:28 | 显示全部楼层
其实用STRETCH命令来作比较容易实现,我根据自己原先的程序作了一些修改,程序的关键还是用到"stretch"功能,因为我绘图方式可能跟别人的不一样,一般我是模型空间是绘图和出图,所以零件图肯定放大过一定的倍数,所以这个程序比较方便的实现修改尺寸。程序如下:
[PHP]
;;;编写: LJPNB
;;;功能: 一个类似于尺寸驱动,可选择尺寸线或对称直线来修改尺寸
(defun c:z2 (/ os ent0 ent data0 a1 name distan ang p01 p02 string dist p0 p1 p2)
  (setq os (getvar "osmode"))
  (setvar "cmdecho" 0)
  (setq ent0 (car (entsel "\n请选择一条直线或尺寸线:")))
  (redraw ent0 3)
  (setq ent (vlax-Ename->Vla-Object ent0)) ;_转化成VLA名
  (setq data0 (entget ent0))
  (setq name (cdr (assoc 0 data0))) ;_取得实体类型
  (setq a1 (getvar 'DIMLFAC))
  (setq a1 (/ 1 a1))
  (if (= name "LINE")
    (progn
      (setq distan (/ (vla-get-Length ent) a1))
      (setq ang (vla-get-angle ent))
      (setq p01 (vlax-curve-getStartPoint ent))
      (setq p02 (vlax-curve-getEndPoint ent))
    )
    (progn
      (setq p01 (cdr (assoc 13 data0)))
      (setq p02 (cdr (assoc 14 data0)))
      (setq distan (vla-get-Measurement ent))
      (setq ang (angle p01 p02))
    )
  )
  (setq string (strcat "\n当前的长度 L="
         (rtos distan)
         "×"
         (rtos a1)
         " ,请输入一个新的对称长度: "
        )
  )
  (setq dist (GETREAL string))
  (redraw ent0 4)
  (setq dist (/ dist 2))
  (setq p0 (mapcar '(lambda (a b) (/ (+ a b) 2)) p01 p02))
  (setq p2 (polar p0 ang (* dist a1)))
  (setq p1 (polar p0 (+ ang pi) (* dist a1)))
  (command "undo" "G")
  (setvar "osmode" 0)
  (command "stretch" "c" p01 p01 "" p01 p1)
  (command "stretch" "c" p02 p02 "" p02 p2)
  (setvar "osmode" os)
  (command "undo" "E")
  (setvar "cmdecho" 1)
  (prompt "\n程序编写by ljpnb !")
  (princ)
)

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-4-16 00:51:48 | 显示全部楼层
我有一个别人已编译过的程序,先传一个动画上来,能单边驱动和对称驱动,自己也试着编,但水平太次搞不定,大侠们能帮帮忙吗,我觉得挺有用的,看到ljpnb的程序受到启发,如果可以直接选线来驱动不就更好吗,因为说白了这也算不上真正的尺寸驱动,叫快速拉伸可能更确切点。动画中DBQD-单边驱动,DCQD-对称驱动。斑竹能抽空来看看吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-4-18 13:33:35 | 显示全部楼层
狂刀大侠,能不能帮写个代码,很欣赏你的风格,比较简洁。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 18:27 , Processed in 0.447844 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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