找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 776|回复: 6

[求助]:急,高手请进:怎样将cad 的一个对象,按步长分解?

[复制链接]
发表于 2005-10-22 17:21:22 | 显示全部楼层 |阅读模式

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

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

×
在cad中画的圆、直线、矩形、椭圆等各个对象,想按步长分解成一小段一小段的或是直线,或是圆弧,各位有没有办法?
比如半径为10mm的圆,按边长1.5mm为步长,分解成很多圆弧的话,有没有什么办法?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-10-23 16:00:28 | 显示全部楼层
measure 可不可以?定距等分点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-24 08:25:49 | 显示全部楼层
谢谢,我试了一下,是可以的。
有没有读取cad中文字点阵的方法,就是把汉字分解成可以多线段,就像刻绘机刻字似的,分解出一个字的边缘形状

我在这里找了个方法,但看不懂这是怎么写的,谁能帮忙
(Defun C:TextB (/ lvl lul lvp lvs lss ViewPL)
       (SetQ lvs (GetVar "viewsize")
             lss (GetVar "screensize")
       )
       (SetVar "cmdecho" 0)
       (Defun ViewPL ( / vi vw vh vc)
              (setq vi (* lvs (/ (Car lss) (Cadr lss)))
                    vc (GetVar "viewctr")
                    vw (list (- (car vc)  (* 0.5 vi))
                             (- (cadr vc) (* 0.5 lvs))
                       )
                    vh (list (+ (car vc)  (* 0.5 vi))
                             (+ (cadr vc) (* 0.5 lvs))
                       )
              )
              (List vw vh)
       )
       (PrinC "\n要分解的文字行: ")
       (SetQ ltl (SSGet)
             lvl (ViewPL)
             lul (List (Caar lvl) (Cadadr lvl))
             lvp (GetVar "viewctr")
       )
       (Command "mirror" ltl "" lvp "@0,1" "y"
                "wmfout" "textb" ltl ""
                "erase" ltl ""
                "wmfin" "textb" lul "2" "" ""
                "mirror" (EntLast) "" lvp "@0,1" "y"
                "explode" (EntLast)
                "erase" (ssget "p") "R" "W"
                        (polar (car lvl) (* 0.25 Pi)
                               (Max (Abs (/ lvs (Cadr lss)))
                                    (Abs (/ (* lvs
                                               (/ (Car lss) (Cadr lss))
                                            )
                                            (Car lss)
                                         )
                                     )
                               )
                        )
                        (cadr lvl)
                    ""
       )
       (SetVar "cmdecho" 1)(PrinC)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-24 11:25:44 | 显示全部楼层
首先调用wmfout命令将对象转化为wmf文件,再用wmfin命令读入
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-25 08:28:48 | 显示全部楼层
什么意思呢?读出来还是字呀,能详细说吗?

再就是用sendcommaon执行measure时,要求选择对象,怎样才能自动选择所有要定点分矩的对象呢?我想把它放在sset选择集中,或是其的办法都行,只要能自动选择就可以。
代码如下:
            Set sset = acadApp.ActiveDocument.SelectionSets.Add("test")
            sset.Select acSelectionSetAll
            /////这句:
            doc1.SendCommand "measure" & vbCr & "select" & vbCr & "all" & vbCr & Object_Step & vbCr

            sset.Erase
            sset.Select acSelectionSetAll
            
            For Each obj In doc1.ModelSpace
                xyz = obj.Coordinates
                conn.Execute "insert into object_points (tablename,objectid,xmgl_id,chamfer_id,pointx,pointy) values ('circle'," & db("id") & "," & NowXmgl_id & "," & ids & "," & Round(xyz(0), 4) & "," & Round(xyz(1), 4) & ")"
            Next
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 21:20 , Processed in 0.257872 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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