找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?在线3D打印服务,一键上传,自动报价 
查看: 18185|回复: 0
打印 上一主题 下一主题

如何在图纸空间中获得图纸中图像的坐标?(autocad200)

[复制链接]
跳转到指定楼层
1
发表于 2002-1-27 11:18:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

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

x
问题:  
  
怎样编写一个命令响应程序,用于经常绘制和更新图框及标题栏,使其与布局中显示的图纸背景精确匹配。  
  
解决方法:  
  
可以通过变量LIMMIN和LIMMAX获得图纸空间中显示的图纸背景图像坐标。注意,只有在图纸背景或者图纸页边距显示时才能使用这种方法。
例如,在VBA中:
  
Option Explicit
  
Sub DrawPSBorder()
  
Dim vll As Variant
Dim vur As Variant
Dim ll(0 To 1) As Double
Dim ur(0 To 1) As Double
Dim aPLlineObj As Object
Dim vertexList(0 To 7) As Double
  
ThisDrawing.ActiveSpace = acPaperSpace
  
vll = ThisDrawing.GetVariable("LIMMIN")
vur = ThisDrawing.GetVariable("LIMMAX")
  
ll(0) = vll(0)
ll(1) = vll(1)
ur(0) = vur(0)
ur(1) = vur(1)
  
vertexList(0) = ll(0)
vertexList(1) = ll(1)
vertexList(2) = ur(0)
vertexList(3) = ll(1)
vertexList(4) = ur(0)
vertexList(5) = ur(1)
vertexList(6) = ll(0)
vertexList(7) = ur(1)
  
Set aPLlineObj = ThisDrawing.PaperSpace.AddLightWeightPolyline(vertexList)
aPLlineObj.Color = acRed
aPLlineObj.Closed = True
aPLlineObj.Update
  
End Sub
  
例如,在AutoLISP中:
  
(defun DrawBorder ()
(setvar "TILEMODE" 0)
(setq ll (getvar "LIMMIN"))
(setq ur (getvar "LIMMAX"))
(command "_RECTANG" ll ur)
(setq entLst (entget (entlast)))
(if (assoc '62 entLst)
(entmod (subst (cons 62 1) (assoc '62 entLst) entLst))
(entmod (append entLst (list (cons 62 1))))
)
(princ)
)
; (DrawBorder)
  
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-4-29 23:06 , Processed in 0.022064 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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