明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1709|回复: 10

[求助]如何沿着一个方向捕捉交点

[复制链接]
发表于 2007-12-3 15:57 | 显示全部楼层 |阅读模式

在给等直线标注时,往往有很多很密的等值线要标注,一般方法是例用多重复制先把标注用同一个数复制,再一个一个改,这样不但麻烦,还经常容易出错.

我编了一个小程序可以让它按某一个间距递增,还是比较麻烦.能不能划一条和等值线相交的线,自动捕捉交点,使每一个标注都在交点上.

递增的程序如下

(defun c:mcopy()  ;多重复制加数
 (setq di(getint"输入间距:"))
 (setq ss(entsel"选择要排列的数"));选择物体,提取联合属性列表
 (setq en(car ss))
 (setq endata(entget en))
 
 (setq oldh(cdr(assoc 40 endata)));提取字高
 (setq olda(cdr(assoc 50 endata)));提取角度
 (setq oldtt(atof(angtos olda)));把弧度变为度
 
 (setq oldt(cdr(assoc 1 endata)));提取标注,
 (setq oldti(atoi oldt));标注负值
 (setq newt(+ oldti di))

 (setq pa(getpoint "\n标注位置:"))
 (command "text" pa oldh oldtt newt)

   (while ens
     (setq ens(entlast))
   
     (setq entdata(entget ens))
     (setq oldct(cdr(assoc 10 entdata)))
     (setq oldht(cdr(assoc 40 entdata)))
     (setq oldat(cdr(assoc 50 entdata)))
     (setq oldatt(atof(angtos oldat)))

     (setq oldtt(cdr(assoc 1 entdata)))
     (setq oldtit(atoi oldtt))
     (setq newtt(+ oldtit di))
     (setq pat(getpoint))
     (command "text" pat oldht oldatt newtt)
   
 
  
   )
 )

我试着用"osnap"函数,没法给方向,还往往捕捉同一个点.

(defun c:osnn(/ new a oldh)
 (setq ss(entsel))
 (setq en(car ss))
 (setq endata(entget en))
 (setq oldh(cdr(assoc 10 endata)))
 (setq new(osnap oldh "_int"))
 (command "text" new 20 0 2000)
 (setq a(osnap new "_int"))
 (command "text" a 20 0 3000)
)
我把"aperture"设为50,因为太小了捕捉不到.可"3000","2000"却写在同一个点上.也就是(setq a(osnap new "_int"))
捕捉到的交点就是他本身,这个问题没法解决,请各位大虾给帮帮忙.怎么完成自动捕捉,是不是还有其他的函数

 楼主| 发表于 2007-12-4 07:49 | 显示全部楼层

有哪位高手帮忙指点一下.

着急用啊..

发表于 2007-12-4 08:37 | 显示全部楼层
可以提供调试时用的图形文件吗?
 楼主| 发表于 2007-12-4 09:46 | 显示全部楼层

目的是为了达到图片"等值线"的效果.

麻烦Andyhon下下来看看

 楼主| 发表于 2007-12-4 10:11 | 显示全部楼层

我也把

(defun c:osnn(/ new a oldh)
 (setq ss(entsel))
 (setq en(car ss))
 (setq endata(entget en))
 (setq oldh(cdr(assoc 10 endata)))
 (setq new(osnap oldh "_int"))
 (command "text" new 20 0 2000)
 (setq a(osnap new "_int"))
 (command "text" a 20 0 3000)
)
这个程序捕捉重复的交点也传上去.

麻烦大家帮帮忙

 楼主| 发表于 2007-12-4 13:50 | 显示全部楼层

 

本帖子中包含更多资源

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

x
 楼主| 发表于 2007-12-4 13:51 | 显示全部楼层

本帖子中包含更多资源

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

x
 楼主| 发表于 2007-12-4 13:59 | 显示全部楼层
Andyhon 我已经把要做的事情生成图片的形式传上去了,还请多多指点
发表于 2007-12-4 14:24 | 显示全部楼层
没有可供调试时用的图形文件(*.dwg)吗?
 楼主| 发表于 2007-12-4 15:52 | 显示全部楼层

Andyhon 你说的是要"dwg"的啊,我有,可是已经不能传了,我已经传了五个了.

我用的是r14,你就在R14里随便画几条线,然后就跟我 传的图片差不多放标住,就可以了

先用"text"写一个数,在调程序,就能按一定的数增加了.

您如果明白的话,就帮我看看.

如果不明白,就等我明天传了"DWG"再说.

先谢谢了.

谢谢您在百忙中还帮我

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-11 18:39 , Processed in 0.165974 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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