乐筑天下

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

Civil 3D表面处理帮助!

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-11-15 13:47:54 | 显示全部楼层 |阅读模式
本人'我想在Civil 3D 2008中寻求一些帮助,以实现曲面创建过程的自动化;我很笨,所以这不是#039;这是一个像我想象的那样简单明了的过程
I'我已经使用开发人员对示例代码进行了一些研究#039;s导轨,但可以'我什么都没做
如果有人能提供一些帮助,我'我非常感谢
我设想这段代码的作用是:要求用户选择要素线#1(FL1)
2)要求用户选择特征线Ş2(FL2)
3)创建一个新的三角网曲面,名称为Bldg 001(数字随着每个附加曲面的增加而增加)但我不'我不理解a)什么是参考,或者b)如何解决2011年的问题;s完整代码I'm当前使用:
  1. Sub test()
  2. Dim oApp As AeccApplication
  3. Dim oDoc As AeccDocument
  4. Dim oSurfs As AeccSurfaces
  5. Set oApp = Application.GetInterfaceObject("AeccXUiLand.AeccApplication.7.0")
  6. Set oDoc = oApp.ActiveDocument
  7. Set oSurfs = oDoc.Surfaces
  8. Dim Tindata As New AeccTinCreationData
  9. Tindata.Description = "Building Surface from CPP Building datum" 'SET SURFACE DESCRIPTION
  10. Tindata.Layer = "Surface Bldgs"                 'SET SURFACE LAYER
  11. Tindata.BaseLayer = "Surface Bldgs"             'NOT SURE WHAT THIS DOES
  12. Tindata.Style = "Building Surfaces"             'SET SURFACE STYLE
  13. Dim osurf As AeccSurface
  14. Dim iCount As Integer
  15. For Each osurf In oSurfs
  16.     If osurf.Name Like "BLDG ###" Then
  17.         Dim iTmp As Integer
  18.         iTmp = CInt(Right(osurf.Name, 3))
  19.         If iTmp > iCount Then iCount = iTmp
  20.     End If
  21. Next
  22. Dim sCurName As String
  23. Dim oEnt1 As AcadEntity
  24. Dim oEnt2 As AcadEntity
  25. Dim vPick As Variant
  26. Dim oEnts(0) As AcadEntity
  27. Do Until Err.Number  0
  28.     iCount = iCount + 1
  29.     sCurName = "BLDG " & Format(iCount, "000")
  30.     On Error GoTo ResumeHere
  31.     ThisDrawing.Utility.GetEntity oEnt1, vPick, vbCr & "Select inside pline: "
  32.     Dim sOtype As String
  33.     sOtype = UCase(oEnt1.ObjectName)
  34.     If Not ((sOtype Like "*POLY*") Or (sOtype Like "*FEATURE*")) Then
  35.         Err.Raise -4444444, , "Incorrect object type selected!"
  36.         GoTo ResumeHere
  37.     ''Remove the ElseIf section when the API allows Featurelines
  38.     ElseIf sOtype Like "*FEATURE*" Then
  39.         Err.Raise -4444445, , "Featurelines not currently supported, explode and try again!"
  40.         GoTo ResumeHere
  41.     End If
  42.     ThisDrawing.Utility.GetEntity oEnt2, vPick, vbCr & "Select outside pline: "
  43.     sOtype = UCase(oEnt2.ObjectName)
  44.     If Not ((sOtype Like "*POLY*") Or (sOtype Like "*FEATURE*")) Then
  45.         Err.Raise -4444444, , "Incorrect object type selected!"
  46.         GoTo ResumeHere
  47.     ''Remove the ElseIf section when the API allows Featurelines
  48.     ElseIf sOtype Like "*FEATURE*" Then
  49.         Err.Raise -4444445, , "Featurelines not currently supported, explode and try again!"
  50.         GoTo ResumeHere
  51.     End If
  52.     Tindata.Name = sCurName
  53.     Dim oTinSurf As AeccTinSurface
  54.     Set oTinSurf = oSurfs.AddTinSurface(Tindata)
  55.     Set oEnts(0) = oEnt1
  56.     oTinSurf.Breaklines.AddStandardBreakline oEnts, "Interior Breakline", 0.5
  57.     Set oEnts(0) = oEnt2
  58.     oTinSurf.Breaklines.AddStandardBreakline oEnts, "Exterior Breakline", 0.5
  59.     oTinSurf.Boundaries.Add oEnt2, "Exterior Boundary", aeccBoundaryOuter, True, 0.5
  60. ResumeHere:
  61. Select Case Err.Number
  62.     Case Is = -4444444
  63.         MsgBox Err.Description
  64.     Case Is = -4444445
  65.         MsgBox Err.Description
  66.     Case Else
  67. '        MsgBox Err.Description ''uncomment to test for the error thrown, comment out to run normally
  68. End Select
  69. Loop
  70. End Sub
谁能解释一下我'我又失踪了?
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-11-15 14:55:19 | 显示全部楼层
您使用的是64位版本的2011吗?如果是这样,则C3D互操作don#039;t在安装过程中注册。本人'我将把REG文件附加到这篇文章,你可以运行它来安装它们。如果没有,请忽略此部分…
在VBAIDE中,转到“工具”菜单,选择“参考”,取消选择与Civil有关的任何内容,向下滚动到Civil 8.0库,然后选择2个与土地相关的项目。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-11-15 15:38:05 | 显示全部楼层
谢谢Jeff_M-成功了
I'我现在只运行32位,但到本周末应该会在一台64位Win7的新机器上运行,这样REG文件就会派上用场。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-11-15 17:04:18 | 显示全部楼层
有人告诉我,对于C3D 2011 x64,简单地加载VBA模块会大大降低整个程序的速度 您可能最终需要将例程转换为.NET。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 17:26 , Processed in 1.025798 second(s), 61 queries .

© 2020-2025 乐筑天下

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