乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 14|回复: 1

求助啊?????

[复制链接]

2

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
11
发表于 2005-2-4 16:00:00 | 显示全部楼层 |阅读模式
Public Sub mi(ss As AcadSelectionSet, x1, y1, x2, y2) ''''''''''''''选择集镜像
                         Dim p1(2) As Double, p2(2) As Double
                         p1(0) = x1: p1(1) = y1: p1(2) = 0
                         p2(0) = x2: p2(1) = y2: p2(2) = 0
                         Dim ent As AcadEntity
                         If ss.Count > 0 Then
                                                                                                                 For Each ent In ss
                                                                                         ent.Mirror p1, p2
                                                         Next
                         End If
                         
End SubPrivate Sub drawline(x1 As Double, y1 As Double, x2 As Double, y2 As Double, lay As String) '用指定层画直线
                         Dim first(0 To 2) As Double, scond(0 To 2) As Double
                         Dim lineobj As AcadLine
                         first(0) = x1: first(1) = y1: first(2) = 0
                         scond(0) = x2: scond(1) = y2: scond(2) = 0
                         Set lineobj = acaddoc.ModelSpace.AddLine(first, scond)
                         lineobj.Layer = lay
                         
End Sub
sub mir()'''''''对选择的线条进行镜象操作
                                                 Set cen = acaddoc.ModelSpace.AddLine(p1, p2)
                                                 cen.Layer = "3"
drawline (边梁翼缘宽 - 边梁腹板厚) / 2, 0, (边梁翼缘宽 - 边梁腹板厚) / 2, 单节长度, "4"
                                                 Dim sset As AcadSelectionSet
                                                 Dim po(2) As Double
                                                 po(0) = 边梁翼缘宽 - 边梁腹板厚) / 2: po(1) = 0: po(2) = 0
                                                 Set sset = acaddoc.SelectionSets.Add("1")
                                                 sset.SelectAtPoint po''''''''''''''''''''''''''''''''''''''''选择要镜象的直线
                                                         mi sset, 边梁翼缘宽 * 2, 0, 边梁翼缘宽 * 2, 单节长度
End Sub
就是搞不懂为什么通过选择定义的点"po(2)为坐标数组" 的直线进行镜象操作没有反映啊?????????????????????????????????????????????????????????
敬请各位高手指正!!!!谢谢!!!!
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-2-20 22:17:00 | 显示全部楼层
程序是你写的吗?
1.程序中画线部分的坐标排列是X1、Y1、X2、Y2,在你给的值中,明显PO的X、Y坐标给的是X1和Y1的值。这样的活,选择集中就是没有对象的,因为你所在的点没有对象。
2.程序思路有问题:
画线没有必须再写个函数吧,用AddLine方法本来就非常简单。
画完线后,本身就可以得到这个线对象,而不需要再用选择集去选,选择集的使用主要是让用户在屏幕上选对象。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-17 23:26 , Processed in 0.367458 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表