田草博客
日志搜索


 标题   内容 评论


网友交流QQ群:11740834 需注明申请加入原因

微信 公众号:ByCAD

邮箱:tiancao1001x126.com
ByCAD,微信公众号
首页 | 普通 | 电脑 | AutoCAD | VB/VB.NET | FLash | 结构 | 建筑 | 电影 | BIM | 规范 | 软件
-电信用户-|-网通用户-
-博客论坛-|-软件下载-
-网站导航-|-规范下载-
-BelovedFLash欣赏-

用户登陆
用户:
密码:
 

站点日历
73 2020 - 6 48
 123456
78910111213
14151617181920
21222324252627
282930


站点统计

最新评论



空挡接龙 DatabaseServices.HostApplicationServices.FindFile
未知 沿着曲线将面域扫掠为三维曲面或三维实体   [ 日期:2017-07-03 ]   [ 来自:本站原创 ]  HTML
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Geometry
Namespace SolidCreation
    Public Class Commands
        <CommandMethod("SAP")> _
        Public Sub SweepAlongPath()
            Dim doc As Document = Application.DocumentManager.MdiActiveDocument
            Dim db As Database = doc.Database
            Dim ed As Editor = doc.Editor
            ' Ask the user to select a region to extrude
            Dim peo1 As New PromptEntityOptions(vbLf & "Select profile or curve to sweep: ")
            peo1.SetRejectMessage(vbLf & "Entity must be a region, curve or planar surface.")
            peo1.AddAllowedClass(GetType(Region), False)
            peo1.AddAllowedClass(GetType(Curve), False)
            peo1.AddAllowedClass(GetType(PlaneSurface), False)
            Dim per As PromptEntityResult = ed.GetEntity(peo1)
            If per.Status <> PromptStatus.OK Then
                Return
            End If
            Dim regId As ObjectId = per.ObjectId
            ' Ask the user to select an extrusion path
            Dim peo2 As New PromptEntityOptions(vbLf & "Select path along which to sweep: ")
            peo2.SetRejectMessage(vbLf & "Entity must be a curve.")
            peo2.AddAllowedClass(GetType(Curve), False)
            per = ed.GetEntity(peo2)
            If per.Status <> PromptStatus.OK Then
                Return
            End If
            Dim splId As ObjectId = per.ObjectId
            Dim pko As New PromptKeywordOptions(vbLf & "Sweep a solid or a surface?")
            pko.AllowNone = True
            pko.Keywords.Add("SOlid")
            pko.Keywords.Add("SUrface")
            pko.Keywords.[Default] = "SOlid"
            Dim pkr As PromptResult = ed.GetKeywords(pko)
            Dim createSolid As Boolean = (pkr.StringResult = "SOlid")
            If pkr.Status <> PromptStatus.OK Then
                Return
            End If
            ' Now let's create our swept surface
            Dim tr As Transaction = db.TransactionManager.StartTransaction()
            Using tr
  &n