乐筑天下

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

从分解的块中挤出区域

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-5 11:16:15 | 显示全部楼层 |阅读模式
好的,我正在拔头发,我正在尝试从一个区域创建一个挤出的实体,这是一个分解块。(我的想法是绘制该区域,并将其作为块插入,然后爆炸块,留下我可以挤压的区域。)我应该尝试这个,还是使用折线代替?我想我可以根据单个选择点的坐标绘制折线,但这似乎工作量太大了。或者我可以将我的块从一个区域更改为折线,并挤压它吗?无论如何,当我试图捕获爆炸块时,我崩溃了。有办法做到这一点吗?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-5 11:22:33 | 显示全部楼层
我从其他一些代码开始,因此所有注释行
  1. Public Sub DrawWideFlangeSteel()
  2.       Dim oCyl As Acad3DSolid, oCircle As AcadCircle, oLine As AcadLine, oLayer As AcadLayer
  3.       Dim oBeam As Acad3DSolid, oReg As AcadRegion, oBlock As AcadBlockReference, oObject As AcadObject
  4.       Dim varpick As Variant
  5.       Dim Ent As AcadEntity
  6.       Dim Inspt As Variant
  7.       Dim RegEnt(0) As AcadEntity
  8.       Dim V(2) As Double, Unit As Double, Vn(2) As Double, dblBusDia As Double
  9.       Dim P1, P2
  10.       Dim newPT1 As Variant
  11.       Dim newPT2 As Variant
  12.       Set oLayer = ThisDrawing.Layers.Add("3D-BUSS-STEEL")
  13.       oLayer.color = 235
  14.       
  15.       Inspt = ThisDrawing.Utility.GetPoint(, "Pick Insertion Point: ")
  16.       If ThisDrawing.ActiveSpace = acModelSpace Then
  17.       Set oBlock = ThisDrawing.ModelSpace.InsertBlock(Inspt, "M:\MODEL-COMPONENTS\w8x24.dwg", 1#, 1#, 1#, 0)
  18.       Else
  19.       Set oBlock = ThisDrawing.PaperSpace.InsertBlock(Inspt, "M:\MODEL-COMPONENTS\w8x24.dwg", 1#, 1#, 1#, 0)
  20.       End If
  21.       ThisDrawing.Regen acActiveViewport
  22. Set oObject = oBlock.Explode
  23. '      ThisDrawing.Utility.GetEntity Ent, varpick
  24. '      If Not TypeOf Ent Is AcadLine Then
  25. '            MsgBox "That was not a Layout Line"
  26. '            Exit Sub
  27. '      End If
  28. '      Set oLine = Ent
  29. '      newPT1 = oLine.StartPoint
  30. '      newPT2 = oLine.EndPoint
  31. '      newPT1(2) = ConvertFeet(frmInsPart.cboBusHeight.Value)
  32. '      newPT2(2) = ConvertFeet(frmInsPart.cboBusHeight.Value)
  33. '      Set oLine = ThisDrawing.ModelSpace.AddLine(newPT1, newPT2)
  34. '      oLine.Layer = "3D-BUSS-CALC"
  35. '      P1 = oLine.StartPoint: P2 = oLine.EndPoint
  36. '      V(0) = P2(0) - P1(0): V(1) = P2(1) - P1(1): V(2) = P2(2) - P1(2)
  37.       'Normalise the vector(It's length=1)
  38. '      Unit = Sqr(V(0) * V(0) + V(1) * V(1) + V(2) * V(2))
  39. '      Vn(0) = V(0) / Unit: Vn(1) = V(1) / Unit: Vn(2) = V(2) / Unit
  40. '      dblBusDia = CDbl(frmInsPart.cboBusSize.Value + 0.5) / 2
  41. '      Set oCircle = ThisDrawing.ModelSpace.AddCircle(oLine.StartPoint, dblBusDia)
  42.       ThisDrawing.Regen acActiveViewport
  43. '      oCircle.Normal = Vn    ' Vn or V both work here.
  44. '      ThisDrawing.Regen acActiveViewport
  45. '      Set RegEnt(0) = oCircle
  46. '      oReg = ThisDrawing.ModelSpace.AddRegion(RegEnt)
  47. '      Set oCyl = ThisDrawing.ModelSpace.AddExtrudedSolid(oReg(0), oLine.Length, 0)
  48. '      oCircle.Delete
  49. '      oReg(0).Delete
  50. End Sub

回复

使用道具 举报

6

主题

103

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2007-1-5 11:30:11 | 显示全部楼层
这是我出错的地方吗?我需要一个变体来捕获爆炸的东西?我尝试了
Dim o某物作为AcadObject
o某物=block.explode
但没有工作
回复

使用道具 举报

4

主题

206

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
271
发表于 2007-1-5 11:59:52 | 显示全部楼层
对,就是这样。它将是块中对象的数组。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-5 12:46:18 | 显示全部楼层
侧边轨道...
1.)您可以挤出封闭的折线,不需要区域。
2.)如果您已经有一个块,只需更改X或Z比例。
伪代码。
从文件
中收集配置文件数据绘制样条配置文件
挤出配置文件一个单元(X代表横梁或Z代表科勒。)
添加智能(属性,xdata等)
Makeblock
插入块,将X或Z修改为所需的长度并旋转。
使用EATTEXT可以提取X或Z值以及块名称、位置、层等。
回复

使用道具 举报

4

主题

206

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
271
发表于 2007-1-5 13:14:22 | 显示全部楼层
尸体,你如何挤出一个封闭的折线?从帮助文件中,它说只有区域
回复

使用道具 举报

4

主题

206

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
271
发表于 2007-1-5 13:58:39 | 显示全部楼层
这是一种方法,Duh。
然后在调用Sub中:
这将为您提供3个固体到联盟
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-1-5 14:01:40 | 显示全部楼层
我将不得不试一试。谢谢杰夫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 04:41 , Processed in 1.382388 second(s), 69 queries .

© 2020-2025 乐筑天下

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