Translate

Mostrar mensagens com a etiqueta ZWSoft. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta ZWSoft. Mostrar todas as mensagens

segunda-feira, 30 de outubro de 2023

Manual VB.net para ZWCAD : Arc

  Colocação de um "Arc" na coordenada (1,3,0) com raio 5 e angulo inicial 57 e angulo final 172 .



Segue o código:

Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.Geometry

    Public Sub Arc()

    Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
    Dim ZWCurDb As Database = ZWDoc.Database

    <CommandMethod("NewArc")> _ 
    Public Sub NewArc()
        Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZwCurDb As Database = ZWDoc.Database

        Using ZWTrans As Transaction = ZwCurDb.TransactionManager.StartTransaction()

            Dim ZWBlktbl As BlockTable = ZWTrans.GetObject(ZwCurDb.BlockTableId, OpenMode.ForRead)
            Dim ZWBlktblrec As BlockTableRecord = ZWTrans.GetObject(ZWBlktbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

            Using ZWArc As Arc = New Arc(New Point3d(1, 3, 0), 5, 1, 3)
                ZWArc.SetDatabaseDefaults()

                ZWBlktblrec.AppendEntity(ZWArc)
                ZWTrans.AddNewlyCreatedDBObject(ZWArc, True)

                ZWTrans.Commit()
            End Using

        End Using

    End Sub

End Class
Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewArc.

Testem 

Cumprimentos. 

segunda-feira, 23 de outubro de 2023

Manual VB.net para ZWCAD : Points

 Colocação de um "Point" na coordenada (2,3,10) e com o estilo que temos na imagem.


Segue o código:

Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.Geometry

Public Class Points

    Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
    Dim ZWCurDb As Database = ZWDoc.Database

    <CommandMethod("NewPoint")> _ 
    Public Sub NewPoint()

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTbl As BlockTable = ZWTrans.GetObject(ZWCurDb.BlockTableId, OpenMode.ForRead)
            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

            Dim ZWPoint As New DBPoint
            ZWPoint.SetDatabaseDefaults()
            ZWPoint = New DBPoint(New Point3d(2, 3, 10))

            ZWBlkTblRec.AppendEntity(ZWPoint)
            ZWTrans.AddNewlyCreatedDBObject(ZWPoint, True)

            ZWCurDb.Pdsize = 5
            ZWCurDb.Pdmode = 66

            ZWTrans.Commit()

        End Using

    End Sub

End Class
Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewPoint.

Testem 

Cumprimentos. 

segunda-feira, 16 de outubro de 2023

Manual VB.net para ZWCAD : ERASE

 "Erase" de uma entidade.

A explicação desta operação está explicada no código para melhor perceção do funcionamento.

Temos então o código:

Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.Geometry

Public Class EraseObject

    Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
    Dim ZWCurDb As Database = ZWDoc.Database

       < CommandMethod("NewErase")> _ 
    Public Sub NewErase()

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTbl As BlockTable = ZWTrans.GetObject(ZWCurDb.BlockTableId, OpenMode.ForRead)
            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

            'Criação da Linha de código para ser posteriormente apagada com a ordem erase.
            Dim ZWLine As New Line
            ZWLine = New Line(New Point3d(1, 2, 0), New Point3d(6, 7, 0))
            ZWLine.SetDatabaseDefaults()
            ZWBlkTblRec.AppendEntity(ZWLine)
            ZWTrans.AddNewlyCreatedDBObject(ZWLine, True)

            'Linha de comando com a ordem erase para apagar a linha criada (ZWLine)
                       ZWLine.Erase() 'Erase

            ZWTrans.Commit()

        End Using

    End Sub


Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewErase.

Vamos lá experimentar.
Cumprimentos. 

segunda-feira, 9 de outubro de 2023

Manual VB.net para ZWCAD : NewDimension

  Criação de uma "Dimension"


Temos então o código:


Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Geometry

Public Class Dimension
    <CommandMethod("NewDimension")> _  
    Public Sub NewDimension()

        Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZWEd As Editor = Application.DocumentManager.MdiActiveDocument.Editor
        Dim ZWCurDb As Database = ZWDoc.Database

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTbl As BlockTable = ZWTrans.GetObject(ZWCurDb.BlockTableId, OpenMode.ForRead)
            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

            Dim ZWDimension As New AlignedDimension
            ZWDimension.SetDatabaseDefaults()
            ZWDimension.XLine1Point = New Point3d(0, 0, 0)
            ZWDimension.XLine2Point = New Point3d(5, 5, 0)
            ZWDimension.DimLinePoint = New Point3d(0, 10, 0)

            ZWBlkTblRec.AppendEntity(ZWDimension)
            ZWTrans.AddNewlyCreatedDBObject(ZWDimension, True)

            ZWTrans.Commit()
        End Using
    End Sub
End Class


Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewDimension.

Vamos lá experimentar.
Cumprimentos. 

segunda-feira, 2 de outubro de 2023

Manual VB.net para ZWCAD : NEW TEXT

  Criação de um "NEW TEXT"

Temos então o código:

IImports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Geometry


Public Class Text
   <CommandMethod("NewText")> _  
    Public Sub NewText()

        Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZWEd As Editor = Application.DocumentManager.MdiActiveDocument.Editor
        Dim ZWCurDb As Database = ZWDoc.Database

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTbl As BlockTable = ZWTrans.GetObject(ZWCurDb.BlockTableId, OpenMode.ForRead)
            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

            Dim ZWNewText As New DBText
            ZWNewText.SetDatabaseDefaults()
            ZWNewText.WidthFactor = 0.7
            ZWNewText.Height = 0.35
            ZWNewText.HorizontalMode = TextHorizontalMode.TextCenter
            ZWNewText.VerticalMode = TextVerticalMode.TextVerticalMid
            ZWNewText.AlignmentPoint = New Point3d(0, 0, 0)
            ZWNewText.TextString = "Zwcad .net Loja dos Desenhadores"

            ZWBlkTblRec.AppendEntity(ZWNewText)
            ZWTrans.AddNewlyCreatedDBObject(ZWNewText, True)

            ZWTrans.Commit()
        End Using
    End Sub
End Class


Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: "NewText".

Vamos lá experimentar.
Cumprimentos. 

segunda-feira, 25 de setembro de 2023

Manual VB.net para ZWCAD : NEW LAYER WITH LINETYPE

 Criação de de uma nova "Layer" agora com "Linetype"


Temos então o código:
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Colors
Public Class LayerWithLine
    <CommandMethod("NewlayerWithLinetype")> _  
    Public Sub ZWNewlayerWithLinetype()

        Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZWEd As Editor = Application.DocumentManager.MdiActiveDocument.Editor
        Dim ZWCurDb As Database = ZWDoc.Database

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWCurDb.CurrentSpaceId, OpenMode.ForWrite)
            Dim ZWLayerTable As LayerTable = ZWTrans.GetObject(ZWCurDb.LayerTableId, OpenMode.ForRead)
            Dim ZwLtTable As LinetypeTable = ZWTrans.GetObject(ZWCurDb.LinetypeTableId, OpenMode.ForRead)

            Dim ZWNewlayer As String = "ZWCad_1"
            Dim ZWZWNewlayer_1 As New LayerTableRecord

            If ZWLayerTable.Has(ZWNewlayer) = False Then
                ZWZWNewlayer_1.Name = ZWNewlayer
                ZWZWNewlayer_1.Color = Color.FromColorIndex(ColorMethod.ByAci, 1)
                ZWZWNewlayer_1.LineWeight = LineWeight.LineWeight009
                ZWLayerTable.UpgradeOpen()
                ZWLayerTable.Add(ZWZWNewlayer_1)
                ZWTrans.AddNewlyCreatedDBObject(ZWZWNewlayer_1, True)
            End If

            Dim LineName As String = "dashdot"
            If ZwLtTable.Has(LineName) = False Then
                ZWCurDb.LoadLineTypeFile(LineName, "Zwcad.lin")
            End If

            If ZwLtTable.Has("dashdot") = True Then
                ZWZWNewlayer_1.UpgradeOpen()
                ZWZWNewlayer_1.LinetypeObjectId = ZwLtTable("dashdot")
            End If

            ZWTrans.Commit()
        End Using
    End Sub
End Class

Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewlayerWithLinetype.

Vamos lá experimentar.
Cumprimentos. 

segunda-feira, 18 de setembro de 2023

Manual VB.net para ZWCAD : NEW LAYER

 Criação de uma nova "Layer"

Temos então o código:

Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Colors

Public Class LayersNew

    <CommandMethod("NewLayer")> _ 
    Public Sub NewLayer()

        Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZWEd As Editor = Application.DocumentManager.MdiActiveDocument.Editor
        Dim ZWCurDb As Database = ZWDoc.Database

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWCurDb.CurrentSpaceId, OpenMode.ForWrite)
            Dim ZWLayerTable As LayerTable = ZWTrans.GetObject(ZWCurDb.LayerTableId, OpenMode.ForRead)

            Dim ZWNewLayer As String = "ZWCad_1"

            If ZWLayerTable.Has(ZWNewLayer) = False Then
                Dim ZWZWNewLayer_1 As New LayerTableRecord
                ZWZWNewLayer_1.Name = ZWNewLayer
                ZWZWNewLayer_1.Color = Color.FromColorIndex(ColorMethod.ByAci, 1)
                ZWZWNewLayer_1.LineWeight = LineWeight.LineWeight009
                ZWLayerTable.UpgradeOpen()
                ZWLayerTable.Add(ZWZWNewLayer_1)
                ZWTrans.AddNewlyCreatedDBObject(ZWZWNewLayer_1, True)
            End If

            ZWTrans.Commit()
        End Using
    End Sub
End Class


Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewLayer.

Vamos lá experimentar.
Cumprimentos. 

quinta-feira, 7 de setembro de 2023

Manual VB.net para ZWCAD : HATCH

 Criação do Hatch "solid"



Temos então o código:

Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.Geometry
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Colors

Public Class HatchRec
    <CommandMethod("NewHatch")> _ 
    Public Sub NewHatch()

        Dim ZWDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZWEd As Editor = Application.DocumentManager.MdiActiveDocument.Editor
        Dim ZWCurDb As Database = ZWDoc.Database

        Dim Largura As Double = ZWEd.GetDouble(vbCr & "Qual a Largura do retangulo ?").Value
        Dim Altura As Double = ZWEd.GetDouble(vbCr & "Qual a Altura do retangulo ?").Value

        Using ZWTrans As Transaction = ZWCurDb.TransactionManager.StartTransaction()

            Dim ZWBlkTbl As BlockTable = ZWTrans.GetObject(ZWCurDb.BlockTableId, OpenMode.ForRead)
            Dim ZWBlkTblRec As BlockTableRecord = ZWTrans.GetObject(ZWBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

            Dim ZWPoly As New Polyline()
            ZWPoly.SetDatabaseDefaults()
            ZWPoly.AddVertexAt(0, New Point2d(0, 0), 0, 0, 0)
            ZWPoly.AddVertexAt(1, New Point2d(Largura, 0), 0, 0, 0)
            ZWPoly.AddVertexAt(2, New Point2d(Largura, Altura), 0, 0, 0)
            ZWPoly.AddVertexAt(3, New Point2d(0, Altura), 0, 0, 0)

            ZWPoly.Closed = True

            ZWBlkTblRec.AppendEntity(ZWPoly)
            ZWTrans.AddNewlyCreatedDBObject(ZWPoly, True)

            Dim dot As DrawOrderTable = CType(ZWTrans.GetObject(ZWBlkTblRec.DrawOrderTableId, OpenMode.ForWrite), DrawOrderTable)

            Dim ZWHatchSet As New Hatch()
            ZWHatchSet.SetDatabaseDefaults()
            ZWHatchSet.SetHatchPattern(HatchPatternType.PreDefined, "Solid")
            Dim ZWHatchRect As ObjectId = ZWBlkTblRec.AppendEntity(ZWHatchSet)
            ZWTrans.AddNewlyCreatedDBObject(ZWHatchSet, True)
            Dim idsZWHatchRect As New ObjectIdCollection()
            idsZWHatchRect.Add(ZWPoly.ObjectId)
            dot.MoveToBottom(idsZWHatchRect)
            ZWHatchSet.Associative = True
            ZWHatchSet.Layer = "0"
            ZWHatchSet.Color = Color.FromColorIndex(ColorMethod.ByAci, 253)
            ZWHatchSet.AppendLoop(HatchLoopTypes.Outermost, idsZWHatchRect)
            ZWHatchSet.EvaluateHatch(True)
            ZWBlkTblRec.DowngradeOpen()
            idsZWHatchRect.Add(ZWHatchRect)

            ZWTrans.Commit()
        End Using
    End Sub
End Class


Após escrever o código, deve-se criar o dll. No  ZWCad, na linha de comando: netload carregar o dll criado. na linha de comando chamamos então o comando criado neste caso: NewHatch.

Vamos lá experimentar.
Cumprimentos.