明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2264|回复: 10

特急!请大家都帮忙看看

[复制链接]
发表于 2004-11-8 14:55:00 | 显示全部楼层 |阅读模式
我先通过vba在AutoCAD中划出一些点(是通过ThisDrawing.ModelSpace.AddPoint语句实现),然后将这些点用直线连接成图形通过(ThisDrawing.ModelSpace.AddLine(PT1, PT2))实现的,我现在的问题是如果要是改变其中的任意的一个点的坐标想让和它所连接的直线也随之变化,我不知道如何实现。但是在lisp中好象是用反应器,那么在vba中是如何实现呢。请各位老师教教。最好给写些程序代码。
发表于 2004-11-8 15:34:00 | 显示全部楼层
本帖最后由 作者 于 2004-11-9 14:03:27 编辑

点的变量就设PT1,PT2等啊!Sub test()
' 定义点1的位置
Dim pointobject As AcadPoint
Dim point1(0 To 2) As Double
point1(0) = 0: point1(1) = 0: point1(2) = 0
' 创建点1
Set pointobject = ThisDrawing.ModelSpace.AddPoint(point1) ' 定义点2的位置
Dim pointobject1 As AcadPoint
Dim point2(0 To 2) As Double
point2(0) = 0: point2(1) = 100: point2(2) = 0
' 创建点2
Set pointobject1 = ThisDrawing.ModelSpace.AddPoint(point2) ' 定义直线
Dim line As AcadLine
' 创建直线
Set line = ThisDrawing.ModelSpace.AddLine(point1, point2) ' 移动后的点
' 定义点3的位置
Dim pointobject2 As AcadPoint
Dim point3(0 To 2) As Double
point3(0) = 0: point3(1) = 200: point3(2) = 0
' 创建点3
Set pointobject2 = ThisDrawing.ModelSpace.AddPoint(point3) ' 定义点4的位置
Dim pointobject3 As AcadPoint
Dim point4(0 To 2) As Double
point4(0) = 0: point4(1) = 300: point4(2) = 0
' 创建点4
Set pointobject3 = ThisDrawing.ModelSpace.AddPoint(point4) pointobject.Move point1, point3 '改变(移动)点的坐标
pointobject1.Move point2, point4 '改变(移动)点的坐标 line.StartPoint = point3 ' 点的坐标被改变(移动)后线的起始点也跟着改变(移动)
line.EndPoint = point4 ' 点的坐标被改变(移动)后线的起始点也跟着改变(移动) ' 缩放试图
ZoomAll End Sub 请问你要的是这种结果吗?
 楼主| 发表于 2004-11-8 15:43:00 | 显示全部楼层
不是你认为的,这样的我已经实现,我是想如果改变任意的点的坐标,那么和它所连接的直线就会自动的也随之改变。可能要利用反反应器吧
发表于 2004-11-8 15:57:00 | 显示全部楼层
<BR>Dim point1(0 To 2) As Double<BR>point1(0) = 0: point1(1) = 0: point1(2) = 0<BR><BR>Dim point2(0 To 2) As Double<BR>point2(0) = 0: point2(1) = 100: point2(2) = 0



<BR>Dim line As AcadLine<BR>Set line = ThisDrawing.ModelSpace.AddLine(point1, point2)


point1(0) = 100: point1(1) = 100: point1(2) = 0


line.StartPoint = point1<BR>


line.Update








把改变了的点附给直线的端点就可以达到该目的。
 楼主| 发表于 2004-11-8 16:11:00 | 显示全部楼层
各位大哥,这些我知道,但是我考虑的是如果操作者直接在autocad环境下利用鼠标直接选取某个点,然后改变它的坐标那么直线还你能自动的跟随着点来改变吗?
发表于 2004-11-8 16:21:00 | 显示全部楼层
夹点不是有该功能吗?
 楼主| 发表于 2004-11-8 16:24:00 | 显示全部楼层
老师什么是夹点,可以教教我吗?能给段程序看看吗?
发表于 2004-11-8 20:31:00 | 显示全部楼层
用事件做,给点附扩展数据,把直线的Handle放在里面
发表于 2004-11-8 20:32:00 | 显示全部楼层
在图上选中点及直线,用鼠标点中它们的共同特征位置,移到想要的地方
 楼主| 发表于 2004-11-9 08:42:00 | 显示全部楼层
雪山飞狐老师,可以说的再清楚些吗?最好给些代码让我好好学习学习。谢谢了!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 22:38 , Processed in 0.161172 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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