明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖

[JIG] 照着例子做了一个块的拖动:)

  [复制链接]
发表于 2007-8-29 23:45:00 | 显示全部楼层
本帖最后由 作者 于 2007-8-29 23:46:54 编辑

  1. Imports System Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.Geometry Imports Autodesk.AutoCAD.ApplicationServices Imports System.Reflection Imports System.IO Imports System.Collections Imports System.Runtime.InteropServices Imports System.Diagnostics Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.GraphicsInterface Namespace
  2.        TlsCad
  3.           Public
  4.        Class
  5.        BlockRefJig
  6.               Inherits EntityJig         Private mPosition As Point3d, mAnglePnt As Point3d         Private mNormal As Vector3d         Private mAngle As Double         Private mPromptCounter As Integer         Private m_dims As DynamicDimensionDataCollection                 Public
  7.        Sub
  8.        New(ByVal vec As Vector3d, ByVal id As ObjectId)             MyBase.New(New BlockReference(New Point3d(0, 0, 0), id))             mPosition = New Point3d(0, 0, 0)             mNormal = vec             mAngle = 0                         m_dims = New DynamicDimensionDataCollection()             Dim dim1 As Dimension = New AlignedDimension()             dim1.SetDatabaseDefaults()             m_dims.Add(New DynamicDimensionData(dim1, True, True))                         Dim dim2 As Dimension = New AlignedDimension()             dim2.SetDatabaseDefaults()                             m_dims.Add(New DynamicDimensionData(dim2, True, True))         End
  9.        Sub
  10.                       Protected
  11.        Overloads
  12.        Overrides
  13.        Function Sampler(ByVal prompts As JigPrompts) As SamplerStatus             Dim jigOpts As
  14.        New JigPromptOptions()             jigOpts.UserInputControls = (UserInputControls.Accept3dCoordinates Or UserInputControls.NoZeroResponseAccepted Or UserInputControls.NoNegativeResponseAccepted)                         If mPromptCounter = 0 Then
  15.                       jigOpts.Message = "" & Chr(10) & "Input InsertPoint:"                 Dim dres As PromptPointResult = prompts.AcquirePoint(jigOpts)                                 Dim positionTemp As Point3d = dres.Value                 If positionTemp <> mPosition Then
  16.                           mPosition = positionTemp                 Else
  17.                           Return SamplerStatus.NoChange                 End
  18.        If
  19.                                       If dres.Status = PromptStatus.Cancel Then
  20.                           Return SamplerStatus.Cancel                 Else
  21.                           Return SamplerStatus.OK                                                         End
  22.        If
  23.       ElseIf mPromptCounter = 1 Then
  24.                       jigOpts.BasePoint = mPosition                 jigOpts.UseBasePoint = True
  25.                       jigOpts.Message = "" & Chr(10) & "Input Angle:"                 Dim angleTemp As Double = -1                 Dim res As PromptPointResult = prompts.AcquirePoint(jigOpts)                 mAnglePnt = res.Value                                 angleTemp = mAnglePnt.GetVectorTo(mPosition).AngleOnPlane(New Plane(Application.DocumentManager.MdiActiveDocument.Database.Ucsorg, Application.DocumentManager.MdiActiveDocument.Database.Ucsxdir, Application.DocumentManager.MdiActiveDocument.Database.Ucsydir))                                 If angleTemp <> mAngle Then
  26.                           mAngle = angleTemp                 Else
  27.                           Return SamplerStatus.NoChange                 End
  28.        If
  29.                                       If res.Status = PromptStatus.Cancel Then
  30.                           Return SamplerStatus.Cancel                 Else
  31.                           Return SamplerStatus.OK                                     End
  32.        If
  33.                   Else
  34.                       Return SamplerStatus.NoChange             End
  35.        If
  36.                                       End
  37.        Function
  38.                       Protected
  39.        Overloads
  40.        Overrides
  41.        Function Update() As Boolean                         Try
  42.                       DirectCast(Entity, BlockReference).Position = mPosition                 DirectCast(Entity, BlockReference).Rotation = mAngle                                     UpdateDimensions()             Catch generatedExceptionName As System.Exception                 Return
  43.        False
  44.                   End
  45.        Try
  46.                               Return
  47.        True
  48.                           End
  49.        Function
  50.                       Protected
  51.        Overloads
  52.        Overrides
  53.        Function GetDynamicDimensionData(ByVal dimScale As Double) As DynamicDimensionDataCollection             Return m_dims         End
  54.        Function
  55.               Protected
  56.        Overloads
  57.        Overrides
  58.        Sub OnDimensionValueChanged(ByVal e As Autodesk.AutoCAD.DatabaseServices.DynamicDimensionChangedEventArgs)                     End
  59.        Sub
  60.               Private
  61.        Sub UpdateDimensions()             Dim blkref As BlockReference = DirectCast(Entity, BlockReference)             If mPromptCounter = 0 Then
  62.                       Dim dim1 As AlignedDimension = DirectCast(m_dims(0).Dimension, AlignedDimension)                 dim1.XLine1Point = blkref.Position                 dim1.DimLinePoint = blkref.Position             Else
  63.                       Dim myellipse As Ellipse = DirectCast(Entity, Ellipse)                 Dim dim2 As AlignedDimension = DirectCast(m_dims(1).Dimension, AlignedDimension)                 dim2.XLine1Point = blkref.Position                 dim2.XLine2Point = mAnglePnt                 dim2.DimLinePoint = blkref.Position             End
  64.        If
  65.                           End
  66.        Sub
  67.               Public
  68.        Sub setPromptCounter(ByVal i As Integer)             mPromptCounter = i         End
  69.        Sub
  70.               Public
  71.        Function GetEntity() As Entity             Return Entity         End
  72.        Function
  73.               <CommandMethod("tjig")> _         Public
  74.        Shared
  75.        Sub DoIt()             Dim x As Vector3d = Application.DocumentManager.MdiActiveDocument.Database.Ucsxdir             Dim y As Vector3d = Application.DocumentManager.MdiActiveDocument.Database.Ucsydir             Dim NormalVec As Vector3d = x.CrossProduct(y)                         Using tm As
  76.        New TlsTM(True)                                 Dim pbt As BlockTable = DirectCast(tm.AutoCadTM.GetObject(tm.Database.BlockTableId, OpenMode.ForRead, True), BlockTable)                 Dim jig As
  77.        New BlockRefJig(NormalVec, pbt("1"))                 jig.setPromptCounter(0)                 Application.DocumentManager.MdiActiveDocument.Editor.Drag(jig)                 jig.setPromptCounter(1)                 Application.DocumentManager.MdiActiveDocument.Editor.Drag(jig)                                 tm.OpenBlockTableRecord(BlockTableRecord.ModelSpace)                 tm.Add(jig.GetEntity())             End
  78.        Using
  79.                                       End
  80.        Sub
  81.           End
  82.        Class
  83.               Public
  84.        Class
  85.        TlsTM
  86.               Implements IDisposable         Private db As Database         Private tm As AutoCadTM         Private ta As Transaction         Private bt As BlockTable         Private btr As BlockTableRecord         Private IsStarted As Boolean = False
  87.                       Public
  88.        Sub
  89.        New(ByVal Starting As Boolean)             If Starting Then
  90.                       db = HostApplicationServices.WorkingDatabase                 tm = db.TransactionManager                 ta = tm.StartTransaction()             End
  91.        If
  92.                   IsStarted = Starting         End
  93.        Sub
  94.               Public
  95.        ReadOnly
  96.        Property Editor() As Editor             Get
  97.                       Return Application.DocumentManager.MdiActiveDocument.Editor             End
  98.        Get
  99.               End
  100.        Property
  101.                       Public
  102.        ReadOnly
  103.        Property Database() As Database             Get
  104.                       Return db             End
  105.        Get
  106.               End
  107.        Property
  108.                       Public
  109.        ReadOnly
  110.        Property AutoCadTM() As AutoCadTM             Get
  111.                       Return tm             End
  112.        Get
  113.               End
  114.        Property
  115.                       Public
  116.        ReadOnly
  117.        Property Transaction() As Transaction             Get
  118.                       Return ta             End
  119.        Get
  120.               End
  121.        Property
  122.                       Public
  123.        ReadOnly
  124.        Property BlockTable() As BlockTable             Get
  125.                       Return bt             End
  126.        Get
  127.               End
  128.        Property
  129.                       Public
  130.        ReadOnly
  131.        Property BlockTableRecord() As BlockTableRecord             Get
  132.                       Return btr             End
  133.        Get
  134.               End
  135.        Property
  136.               #Region "Add Entity"                 Public
  137.        Function Add(ByVal entity As Entity) As ObjectId             Dim id As ObjectId = btr.AppendEntity(entity)             tm.AddNewlyCreatedDBObject(entity, True)             Return id         End
  138.        Function
  139.                       Public
  140.        Function Add(ByVal objs As DBObjectCollection) As ObjectIdCollection             Dim ids As
  141.        New ObjectIdCollection()             For
  142.        Each obj As DBObject In objs                 ids.Add(Me.Add(DirectCast(obj, Entity)))             Next
  143.                   Return ids         End
  144.        Function
  145.                       Public
  146.        Function Add(ByVal objs As DBObject()) As ObjectIdCollection             Dim ids As
  147.        New ObjectIdCollection()             For
  148.        Each obj As DBObject In objs                 ids.Add(Me.Add(DirectCast(obj, Entity)))             Next
  149.                   Return ids         End
  150.        Function
  151.                       #End Region                 #Region "Remove Entity"                 Public
  152.        Function Remove(ByVal id As ObjectId) As Boolean             Dim obj As DBObject             Try
  153.                       obj = tm.GetObject(id, OpenMode.ForWrite)                 obj.[Erase](True)             Catch
  154.                       Return
  155.        False
  156.                   End
  157.        Try
  158.                   Return
  159.        True
  160.               End
  161.        Function
  162.                       Public
  163.        Function Remove(ByVal ids As ObjectIdCollection) As Boolean             For
  164.        Each id As ObjectId In ids                 Try
  165.                           Dim obj As DBObject                     obj = tm.GetObject(id, OpenMode.ForWrite)                     obj.[Erase](True)                 Catch
  166.                           Return
  167.        False
  168.                       End
  169.        Try
  170.                   Next
  171.                   Return
  172.        True
  173.               End
  174.        Function
  175.                       Public
  176.        Function Remove(ByVal ids As ObjectId()) As Boolean             For
  177.        Each id As ObjectId In ids                 Try
  178.                           Dim obj As DBObject                     obj = tm.GetObject(id, OpenMode.ForWrite)                     obj.[Erase](True)                 Catch
  179.                           Return
  180.        False
  181.                       End
  182.        Try
  183.                   Next
  184.                   Return
  185.        True
  186.               End
  187.        Function
  188.                       #End Region                 #Region "Trans"                 Public
  189.        Sub OpenBlockTableRecord(ByVal str As String)             bt = DirectCast(tm.GetObject(db.BlockTableId, OpenMode.ForRead, False), BlockTable)             btr = DirectCast(tm.GetObject(bt(str), OpenMode.ForWrite, False), BlockTableRecord)         End
  190.        Sub
  191.                       Public
  192.        Function GetObject(ByVal id As ObjectId, ByVal mode As OpenMode) As Entity             Return
  193.        DirectCast(tm.GetObject(id, mode, True), Entity)         End
  194.        Function
  195.                       Private
  196.        Sub Dispose() Implements IDisposable.Dispose             If IsStarted Then
  197.                       ta.Commit()             End
  198.        If
  199.                   ta.Dispose()         End
  200.        Sub
  201.                       #End Region                 Public
  202.        Sub RegApp(ByVal AppName As String)             Dim tbl As RegAppTable = DirectCast(tm.GetObject(db.RegAppTableId, OpenMode.ForWrite, False), RegAppTable)             If
  203.        Not tbl.Has(AppName) Then
  204.                       Dim app As
  205.        New RegAppTableRecord()                 app.Name = AppName                 tbl.Add(app)                 tm.AddNewlyCreatedDBObject(app, True)             End
  206.        If
  207.               End
  208.        Sub
  209.           End
  210.        Class
  211.       End
  212.        Namespace
  213.       
转换成vb.net
发表于 2012-2-22 19:17:33 | 显示全部楼层
05年就写出来了。强呀。
学学,转换成个vb.net express 2010的。在2012下试试。
  1.         Public Class BlockRefJig
  2.             Inherits EntityJig
  3.             Private mPosition As Point3d, mAnglePnt As Point3d
  4.             Private mNormal As Vector3d
  5.             Private mAngle As Double
  6.             Private mPromptCounter As Integer
  7.             Private m_dims As DynamicDimensionDataCollection
  8.             Public Sub New(ByVal vec As Vector3d, ByVal id As ObjectId)
  9.                 MyBase.New(New BlockReference(New Point3d(0, 0, 0), id))
  10.                 mPosition = New Point3d(0, 0, 0)
  11.                 mNormal = vec
  12.                 mAngle = 0
  13.                 m_dims = New DynamicDimensionDataCollection()
  14.                 Dim dim1 As Dimension = New AlignedDimension()
  15.                 dim1.SetDatabaseDefaults()
  16.                 m_dims.Add(New DynamicDimensionData(dim1, True, True))
  17.                 Dim dim2 As Dimension = New AlignedDimension()
  18.                 dim2.SetDatabaseDefaults()
  19.                 m_dims.Add(New DynamicDimensionData(dim2, True, True))
  20.             End Sub

  21.             Protected Overrides Function Sampler(ByVal prompts As JigPrompts) As SamplerStatus
  22.                 'http://bbs.mjtd.com/forum.php?mod=viewthread&tid=39784&extra=page%3D1%26filter%3Dtypeid%26typeid%3D35&page=1

  23.                 Dim jigOpts As New JigPromptPointOptions()
  24.                 jigOpts.UserInputControls = (UserInputControls.Accept3dCoordinates Or UserInputControls.NoZeroResponseAccepted Or UserInputControls.NoNegativeResponseAccepted)

  25.                 If mPromptCounter = 0 Then
  26.                     jigOpts.Message = vbLf & "Input InsertPoint:"
  27.                     Dim dres As PromptPointResult = prompts.AcquirePoint(jigOpts)

  28.                     Dim positionTemp As Point3d = dres.Value
  29.                     If positionTemp <> mPosition Then
  30.                         mPosition = positionTemp
  31.                     Else
  32.                         Return SamplerStatus.NoChange
  33.                     End If
  34.                     If dres.Status = PromptStatus.Cancel Then
  35.                         Return SamplerStatus.Cancel
  36.                     Else
  37.                         Return SamplerStatus.OK


  38.                     End If
  39.                 ElseIf mPromptCounter = 1 Then
  40.                     jigOpts.BasePoint = mPosition
  41.                     jigOpts.UseBasePoint = True
  42.                     jigOpts.Message = vbLf & "Input Angle:"
  43.                     Dim angleTemp As Double = -1
  44.                     Dim res As PromptPointResult = prompts.AcquirePoint(jigOpts)
  45.                     mAnglePnt = res.Value * Math.PI / 180.0


  46.                     angleTemp = mAnglePnt.GetVectorTo(mPosition).AngleOnPlane(New Plane(Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.Ucsorg, Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.Ucsxdir, Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.Ucsydir))
  47.                     If angleTemp <> mAngle Then
  48.                         mAngle = angleTemp
  49.                     Else
  50.                         Return SamplerStatus.NoChange
  51.                     End If

  52.                     If res.Status = PromptStatus.Cancel Then
  53.                         Return SamplerStatus.Cancel
  54.                     Else
  55.                         Return SamplerStatus.OK

  56.                     End If
  57.                 Else
  58.                     Return SamplerStatus.NoChange
  59.                 End If


  60.             End Function

  61.             Protected Overrides Function Update() As Boolean

  62.                 Try
  63.                     DirectCast(Entity, BlockReference).Position = mPosition
  64.                     DirectCast(Entity, BlockReference).Rotation = mAngle

  65.                     UpdateDimensions()
  66.                 Catch generatedExceptionName As System.Exception
  67.                     Return False
  68.                 End Try

  69.                 Return True
  70.             End Function
  71.             Protected Overrides Function GetDynamicDimensionData(ByVal dimScale As Double) As DynamicDimensionDataCollection
  72.                 Return m_dims
  73.             End Function
  74.             Protected Overrides Sub OnDimensionValueChanged(ByVal e As Autodesk.AutoCAD.DatabaseServices.DynamicDimensionChangedEventArgs)

  75.             End Sub
  76.             Private Sub UpdateDimensions()
  77.                 Dim blkref As BlockReference = DirectCast(Entity, BlockReference)
  78.                 If mPromptCounter = 0 Then
  79.                     Dim dim1 As AlignedDimension = DirectCast(m_dims(0).Dimension, AlignedDimension)
  80.                     dim1.XLine1Point = blkref.Position
  81.                     dim1.DimLinePoint = blkref.Position
  82.                 Else
  83.                     Dim myellipse As Ellipse = DirectCast(Entity, Ellipse)
  84.                     Dim dim2 As AlignedDimension = DirectCast(m_dims(1).Dimension, AlignedDimension)
  85.                     dim2.XLine1Point = blkref.Position
  86.                     dim2.XLine2Point = mAnglePnt
  87.                     dim2.DimLinePoint = blkref.Position
  88.                 End If
  89.             End Sub
  90.             Public Sub setPromptCounter(ByVal i As Integer)
  91.                 mPromptCounter = i
  92.             End Sub
  93.             Public Function GetEntity() As Entity
  94.                 Return Entity
  95.             End Function

  96.             <CommandMethod("tjig")> _
  97.             Public Shared Sub tjigDoIt()
  98.                 Dim x As Vector3d = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.Ucsxdir
  99.                 Dim y As Vector3d = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.Ucsydir
  100.                 Dim NormalVec As Vector3d = x.CrossProduct(y)

  101.                 Using tm As New TlsTM(True)

  102.                     Dim pbt As BlockTable = DirectCast(tm.AutoCadTM.GetObject(tm.Database.BlockTableId, OpenMode.ForRead, True), BlockTable)
  103.                     Dim jig As New BlockRefJig(NormalVec, pbt("1"))
  104.                     jig.setPromptCounter(0)
  105.                     Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.Drag(jig)
  106.                     jig.setPromptCounter(1)
  107.                     Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.Drag(jig)
  108.                     tm.OpenBlockTableRecord(BlockTableRecord.ModelSpace)
  109.                     tm.Add(jig.GetEntity())
  110.                 End Using

  111.             End Sub

  112.         End Class

  113.         Public Class TlsTM
  114.             Implements IDisposable
  115.             Private db As Database
  116.             Private tm As DatabaseServices.TransactionManager
  117.             Private ta As Transaction
  118.             Private bt As BlockTable
  119.             Private btr As BlockTableRecord
  120.             Private IsStarted As Boolean = False
  121.             Public Sub New(ByVal Starting As Boolean)
  122.                 If Starting Then
  123.                     Dim oDWG As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument

  124.                     ' Get the database in the active drawing
  125.                     db = oDWG.Database

  126.                     ' Open a transaction so we can modify the drawing
  127.                     tm = db.TransactionManager

  128.                     'db = HostApplicationServices.WorkingDatabase
  129.                     'tm = db.TransactionManager
  130.                     ta = tm.StartTransaction()
  131.                 End If
  132.                 IsStarted = Starting
  133.             End Sub

  134.             Public ReadOnly Property Editor() As Editor
  135.                 Get
  136.                     Return Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
  137.                 End Get
  138.             End Property
  139.             Public ReadOnly Property Database() As Database
  140.                 Get
  141.                     Return db
  142.                 End Get
  143.             End Property
  144.             Public ReadOnly Property AutoCadTM() As DatabaseServices.TransactionManager
  145.                 Get
  146.                     Return tm
  147.                 End Get
  148.             End Property
  149.             Public ReadOnly Property Transaction() As Transaction
  150.                 Get
  151.                     Return ta
  152.                 End Get
  153.             End Property
  154.             Public ReadOnly Property BlockTable() As BlockTable
  155.                 Get
  156.                     Return bt
  157.                 End Get
  158.             End Property
  159.             Public ReadOnly Property BlockTableRecord() As BlockTableRecord
  160.                 Get
  161.                     Return btr
  162.                 End Get
  163.             End Property

  164. #Region "Add Entity"
  165.             Public Function Add(ByVal entity As Entity) As ObjectId
  166.                 Dim id As ObjectId = btr.AppendEntity(entity)
  167.                 tm.AddNewlyCreatedDBObject(entity, True)
  168.                 Return id
  169.             End Function
  170.             Public Function Add(ByVal objs As DBObjectCollection) As ObjectIdCollection
  171.                 Dim ids As New ObjectIdCollection()
  172.                 For Each obj As DBObject In objs
  173.                     ids.Add(Me.Add(DirectCast(obj, Entity)))
  174.                 Next
  175.                 Return ids
  176.             End Function
  177.             Public Function Add(ByVal objs As DBObject()) As ObjectIdCollection
  178.                 Dim ids As New ObjectIdCollection()
  179.                 For Each obj As DBObject In objs
  180.                     ids.Add(Me.Add(DirectCast(obj, Entity)))
  181.                 Next
  182.                 Return ids
  183.             End Function
  184. #End Region

  185. #Region "Remove Entity"
  186.             Public Function Remove(ByVal id As ObjectId) As Boolean
  187.                 Dim obj As DBObject
  188.                 Try
  189.                     obj = tm.GetObject(id, OpenMode.ForWrite)
  190.                     obj.[Erase](True)
  191.                 Catch
  192.                     Return False
  193.                 End Try
  194.                 Return True
  195.             End Function
  196.             Public Function Remove(ByVal ids As ObjectIdCollection) As Boolean
  197.                 For Each id As ObjectId In ids
  198.                     Try
  199.                         Dim obj As DBObject
  200.                         obj = tm.GetObject(id, OpenMode.ForWrite)
  201.                         obj.[Erase](True)
  202.                     Catch
  203.                         Return False
  204.                     End Try
  205.                 Next
  206.                 Return True
  207.             End Function
  208.             Public Function Remove(ByVal ids As ObjectId()) As Boolean
  209.                 For Each id As ObjectId In ids
  210.                     Try
  211.                         Dim obj As DBObject
  212.                         obj = tm.GetObject(id, OpenMode.ForWrite)
  213.                         obj.[Erase](True)
  214.                     Catch
  215.                         Return False
  216.                     End Try
  217.                 Next
  218.                 Return True
  219.             End Function
  220. #End Region

  221. #Region "Trans"
  222.             Public Sub OpenBlockTableRecord(ByVal str As String)
  223.                 bt = DirectCast(tm.GetObject(db.BlockTableId, OpenMode.ForRead, False), BlockTable)
  224.                 btr = DirectCast(tm.GetObject(bt(str), OpenMode.ForWrite, False), BlockTableRecord)
  225.             End Sub
  226.             Public Function GetObject(ByVal id As ObjectId, ByVal mode As OpenMode) As Entity
  227.                 Return DirectCast(tm.GetObject(id, mode, True), Entity)
  228.             End Function
  229.             Private Sub IDisposable_Dispose() Implements IDisposable.Dispose
  230.                 If IsStarted Then
  231.                     ta.Commit()
  232.                 End If
  233.                 ta.Dispose()
  234.             End Sub
  235. #End Region

  236.             Public Sub RegApp(ByVal AppName As String)
  237.                 Dim tbl As RegAppTable = DirectCast(tm.GetObject(db.RegAppTableId, OpenMode.ForWrite, False), RegAppTable)
  238.                 If Not tbl.Has(AppName) Then
  239.                     Dim app As New RegAppTableRecord()
  240.                     app.Name = AppName
  241.                     tbl.Add(app)
  242.                     tm.AddNewlyCreatedDBObject(app, True)
  243.                 End If
  244.             End Sub

  245.         End Class
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 19:51 , Processed in 0.149048 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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