明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2425|回复: 4

在一个DWG文件中插入鼠标位置所在的图幅

[复制链接]
发表于 2011-9-4 06:20:40 | 显示全部楼层 |阅读模式
1明经币
求助编程:在一个DWG文件中插入鼠标位置所在的图幅(可以连续插入)
步骤:
1,打开一幅DWG文件,鼠标在图形周围点击一下,取得XY坐标值
2,根据XY坐标值计算鼠标位置所在图幅(图幅为50CM*50CM),起名规则:A.B-C.D,A,C分别为X,Y坐标整公里数,B,D分别为X,Y坐标值的米数;
比例尺1:500 时B,D的取值:大于等于0小于250时为00,大于等于250小于500时为25,大于等于500小于750时为50,大于等于,750小于1000时为75.
比例尺1:1000时B,D的取值:大于等于0小于500时为00,大于等于500小于,1000时为50.
比例尺1:2000时B,D分别为00
如鼠标坐标值为X85230.233,Y66847.386,比例尺1:500 时图幅名为85.00-66.75,比例尺1:,1000 时图幅名为85.00-66.50,比例尺1:2000 时图幅名,85.00-66.00.
3,以块的形式插入图形,基点为0,0(图块为分解和不分解两种,默认插入所打开DWG文件夹下的的图块。)

最佳答案

发表于 2011-9-4 06:20:41 | 显示全部楼层
  1. (DEFUN C:TT (/ PT FILENAME path scale)
  2.   (defun getname (pt scale / X Y XKM A XM YKM YM dimzin)
  3.     (setq dimzin (getvar 'dimzin))
  4.     (setvar 'dimzin 0)
  5.     (setq x (car pt)
  6.           y (cadr pt)
  7.           xkm (rtos (setq a (fix (* 0.001 y))) 2 0)
  8.           xm (substr (rtos (* 0.001 (* (fix (/ (- y (* a 1000)) (* scale 0.5))) (* scale 0.5))) 2 2) 2)
  9.           ykm (rtos (setq a (fix (* 0.001 x))) 2 0)
  10.           ym (substr (rtos (* 0.001 (* (fix (/ (- x (* a 1000)) (* scale 0.5))) (* scale 0.5))) 2 2) 2)
  11.           )
  12.     (setvar 'dimzin dimzin)
  13.     (strcat xkm  xm "-" ykm  ym)
  14.     )
  15.   (setq scale (getint "\n 图形比例尺<1:500>"))
  16.   (if (null scale) (setq scale 500))
  17.   (setq path (getvar 'DWGPREFIX))
  18. (while
  19.   (setq pt (getpoint "\n选取点位置:"))
  20. ;;;得到文件名
  21.   (setq filename (strcat (getname pt scale) ".dwg"))

  22. ;;;插入块
  23.   (if (setq filename (findfile (strcat path filename)))
  24.     (command "insert" filename '(0 0 0) 1 1 0)
  25.   )
  26. )
  27. )
回复

使用道具 举报

发表于 2011-9-4 09:34:56 | 显示全部楼层
建议楼主改用图文解说
纯文字叙述不容易传达应有的图文讯息
贴出来是不就是要让见帖者容易转化理解?....
回复

使用道具 举报

 楼主| 发表于 2011-9-4 17:47:31 | 显示全部楼层
本帖最后由 qfkxc 于 2011-9-4 17:52 编辑

功能与帖子http://bbs.mjtd.com/thread-88608-1-5.html相同,只是图幅号取名规则不同。如图所示,打开62.75-80.75,鼠标在图的周围点一下,得到鼠标所在位置XY坐标,根据图幅取名规则计算出鼠标所在位置的图幅号为62.75-81.00,以插入块的方式插入文件名为62.75-81.00.dwg的文件,然后鼠标在其他位置点击下插入相应的图幅。(图中文件结合表是不存在的,只是为了说明加入的)。

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2011-9-5 06:28:51 | 显示全部楼层
多谢GU-XL版主,程序很好用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-27 20:14 , Processed in 0.195195 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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