Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Gravur Makro schneller machen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Gravur Makro schneller machen (523 mal gelesen)
martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 01. Jul. 2022 09:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Gravur.zip

 
Hallo,

ich habe mir ein Makro zum Erstellen von Gravuren erstellt.
Das funktioniert auch soweit.

Um das Makro zu verwenden muss ich mir zuerst einen Parameter vom Typ "Zeichenfolge" anlegen, und dort dann den zu programmierenden Text eingeben.

Mein Problem ist jetzt folgendes:
Wenn ich z.B. A eingebe, so läuft das Makro relativ schnell durch.

Wenn ich aber z.B. ABCABC eingebe, so braucht das Makro schon deutlich länger.

Meine Frage lautet also: Wer kann mir sagen, wie ich die Laufzeit des Makros verkürzen kann? (Bitte schaut Euch mal meinen Quelltext an.)

Hierzu habe ich das Makro angehängt. Wie gesagt, muss vor der Ausführung ein Part mit einem Parameter "Zeichenfolge" angelegt werden.

Achtung! Das angehängte (abgespeckte) Makro unterstützt nur die drei Buchstaben A B und C !!!

Vorab schon mal Danke und Gruß
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 01. Jul. 2022 09:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

Servus Martin

Kannst du den Code auch als Text (also was in den Modulen/Userformen drin steht) posten (eventuell nur den Teilebereich in dem die Konturen erzeugt werden)?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 01. Jul. 2022 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Option Explicit

Private Sub chkAussenlinie_Click()

    If chkAussenlinie.Value = False And chkMittellinie = False Then
        chkMittellinie = True
    End If

End Sub

Private Sub chkMittellinie_Click()

    If chkAussenlinie.Value = False And chkMittellinie = False Then
        chkAussenlinie = True
    End If

End Sub

Private Sub cmdInfo_Click()

    MsgBox ("Unterstützte Zeichen sind:" & vbLf & vbLf & "A-Z, a-z, 0-9, Leerzeichen - _ . , : ; + ! % & / ( ) = ?" & vbLf & "Ø (=ALT+0216) " & vbLf & "± (=ALT+ 0177)" & vbLf & "\t (=Tabulator)" & vbLf & "\n (=Neue Zeile)")

End Sub

Private Sub cmdStart_Click()

    On Error GoTo Errorhandler

    If (CATIA.Documents.Count = 0) Then

        lblBeschreibung.Caption = "Kein Dokument geöffnet..."

        lblBeschreibung.ForeColor = vbBlue

        Exit Sub

    End If


    If TypeName(CATIA.ActiveDocument) = "PartDocument" Then

        cmdStart.Enabled = False

        cmdAbbrechen.Enabled = False

        cmdInfo.Enabled = False

        lblBeschreibung.ForeColor = vbBlack

        lblBeschreibung.Caption = "Bitte warten..."

        frmHauptformular.Repaint


        Dim XZentrum As Double

        Dim YZentrum As Double

        Dim Zeichenabstand As Double


        XZentrum = 0

        YZentrum = txtSchrifthoehe / 2

        Zeichenabstand = 57.1429                                    'Gibt an wie hoch der Zeichenabstand bei 100% ist

     

        Zeichenabstand = Zeichenabstand * txtSchrifthoehe / 100    'Somit wird der Zeichenabstand zusätzlich auch von der Schrifthöhe abhängig

        Zeichenabstand = Zeichenabstand * txtAbstand / 100          'Somit wird der Zeichenabstand von dem prozentualen Abstand zwischen den Buchstaben abhängig

'#####################################################################################


        Dim partDocument1 As PartDocument

        Dim part1 As Part

        Dim hybridbodies1 As HybridBodies

        Dim hybridbody1 As HybridBody

        Dim sketches1 As Sketches

        Dim sketch1 As Sketch

        Dim sketch2 As Sketch

        Dim selection1 As Object

        Dim sFilter(0)

        Dim reference1 As Reference

        Dim line2D As line2D

        Dim circle2D As circle2D

        Dim horizontal As line2D

        Dim vertikal As line2D

        Dim status As String

        Dim PI As Double

        PI = 3.141592654

        Dim zaehler As Integer

     

        Dim Parameter1 As Parameter

        Dim factory2D1 As Factory2D

        Dim factory2D2 As Factory2D

        Dim oConstraints As Constraints

        Dim oConstraint As Constraint

     

        Set partDocument1 = CATIA.ActiveDocument

        Set part1 = partDocument1.Part

        Set selection1 = CATIA.ActiveDocument.Selection

        selection1.Clear

        Set hybridbodies1 = part1.HybridBodies

        Set hybridbody1 = hybridbodies1.Add()                                                                  'Einen geöffneten Körper "Gravur" hinzufügen

        hybridbody1.Name = "Gravur"

     

        Set sketches1 = hybridbody1.HybridSketches

        MsgBox "Bitte die Gravurebene auswählen."

        frmHauptformular.Hide

        sFilter(0) = "Plane"

     

        status = selection1.SelectElement2(sFilter, "Bitte die Gravurebene auswählen.", False)                  'Die Gravurebene auswählen

      If status <> "Normal" Then

            cmdStart.Enabled = True

            cmdAbbrechen.Enabled = True

            cmdInfo.Enabled = True

            lblBeschreibung = "Gravurprogramm"

            lblBeschreibung.ForeColor = vbRed

            frmHauptformular.Repaint

            Exit Sub

        End If

     

        Set reference1 = part1.CreateReferenceFromObject(selection1.Item(1).Value)

        selection1.Clear

     

        MsgBox "Bitte den Parameter auswählen, welcher den zu gravierenden Text enhält."

        sFilter(0) = "Parameter"

        status = selection1.SelectElement2(sFilter, "Bitte den Parameter auswählen, welcher den zu gravierenden Text enhält.", False)        'Den Stringparameter, welcher die Gravur enthält, auswählen

        If status <> "Normal" Then

            cmdStart.Enabled = True

            cmdAbbrechen.Enabled = True

            cmdInfo.Enabled = True

            lblBeschreibung = "Gravurprogramm"

            lblBeschreibung.ForeColor = vbRed

            frmHauptformular.Repaint

            Exit Sub

        End If

     

        Set Parameter1 = selection1.Item(1).Value

        selection1.Clear

        If chkMittellinie = True Then

         

            Set sketch1 = sketches1.Add(reference1)                                                                'Eine Skizze in den erzeugten geöffneten Körper hinzufügen

            sketch1.Name = "Gravur_Mittellinie"

         

            Set factory2D1 = sketch1.OpenEdition                                                                    'Die Skizze öffnen

            Set oConstraints = sketch1.Constraints

 

            Set horizontal = factory2D1.CreateLine(0, 0, 20, 0)                                                    'Eine Horizontale erzeugen

            horizontal.Construction = True                                                                          'Die erzeugten Linie zum Konstruktionselement machen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeLength, horizontal)                              'Die Länge vermassen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeReference, horizontal)                          'Die Linie fixieren

 

            Set vertikal = factory2D1.CreateLine(0, 0, 0, 20)                                                      'Eine Vertikale erzeugen

            vertikal.Construction = True                                                                            'Die erzeugten Linie zum Konstruktionselement machen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeLength, vertikal)                                'Die Länge vermassen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeReference, vertikal)                            'Die Linie fixieren

         

            For zaehler = 1 To Len(Parameter1.ValueAsString)                                                        'Analysieren der einzelnen Zeichen des Stringparameters

                If Mid(Parameter1.ValueAsString, zaehler, 1) = "A" Then

                    Call Buchstabe_gross_A(XZentrum, YZentrum, factory2D1, line2D, horizontal, vertikal, oConstraints, oConstraint, Zeichenabstand)

                ElseIf Mid(Parameter1.ValueAsString, zaehler, 1) = "B" Then

                    Call Buchstabe_gross_B(XZentrum, YZentrum, factory2D1, line2D, horizontal, vertikal, oConstraints, oConstraint, Zeichenabstand)

                ElseIf Mid(Parameter1.ValueAsString, zaehler, 1) = "C" Then

                    Call Buchstabe_gross_C(XZentrum, YZentrum, factory2D1, line2D, horizontal, vertikal, oConstraints, oConstraint, Zeichenabstand)

                Else

                    MsgBox "Nicht unterstuetztes Zeichen: " & Mid(Parameter1.ValueAsString, zaehler, 1)

                    XZentrum = XZentrum + 2 * Zeichenabstand

                End If

            Next zaehler

            sketch1.CloseEdition                                                                                    'Die Skizze schließen

            part1.Update

        End If

'#####################################################################################

'#####################################################################################

'#####################################################################################

        If chkAussenlinie = True Then

            Set sketch2 = sketches1.Add(reference1)                                                                'Eine Skizze in den erzeugten geöffneten Körper hinzufügen

            sketch2.Name = "Gravur_Aussenlinie"

         

            Set factory2D1 = sketch2.OpenEdition                                                                    'Die Skizze öffnen

            Set oConstraints = sketch2.Constraints

 

            Set horizontal = factory2D1.CreateLine(0, 0, 20, 0)                                                    'Eine Horizontale erzeugen

            horizontal.Construction = True                                                                          'Die erzeugten Linie zum Konstruktionselement machen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeLength, horizontal)                              'Die Länge vermassen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeReference, horizontal)                          'Die Linie fixieren

 

            Set vertikal = factory2D1.CreateLine(0, 0, 0, 20)                                                      'Eine Vertikale erzeugen

            vertikal.Construction = True                                                                            'Die erzeugten Linie zum Konstruktionselement machen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeLength, vertikal)                                'Die Länge vermassen

            Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeReference, vertikal)                            'Die Linie fixieren

 

            'Set circle2D = factory2D1.CreateCircle(10, 10, 50, 1 * PI, 2 * PI)                                      'Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180

            'Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

            'Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

            'Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

            'Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

            'Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

         

            XZentrum = 0

            YZentrum = txtSchrifthoehe / 2

         

            For zaehler = 1 To Len(Parameter1.ValueAsString)                                                        'Analysieren der einzelnen Zeichen des Stringparameters

                If Mid(Parameter1.ValueAsString, zaehler, 1) = "A" Then
                    Call Buchstabe_dick_gross_A(XZentrum, YZentrum, factory2D1, line2D, circle2D, horizontal, vertikal, oConstraints, oConstraint, Zeichenabstand, PI)

                ElseIf Mid(Parameter1.ValueAsString, zaehler, 1) = "B" Then
                    Call Buchstabe_dick_gross_B(XZentrum, YZentrum, factory2D1, line2D, circle2D, horizontal, vertikal, oConstraints, oConstraint, Zeichenabstand, PI)

                ElseIf Mid(Parameter1.ValueAsString, zaehler, 1) = "C" Then
                    Call Buchstabe_dick_gross_C(XZentrum, YZentrum, factory2D1, line2D, circle2D, horizontal, vertikal, oConstraints, oConstraint, Zeichenabstand, PI)

                Else
                    MsgBox "Nicht unterstuetztes Zeichen: " & Mid(Parameter1.ValueAsString, zaehler, 1)
                    XZentrum = XZentrum + 2 * Zeichenabstand
                End If

                                                                                                     

            Next zaehler

         

            sketch2.CloseEdition                                                                                    'Die Skizze schließen

           

            part1.Update

        End If

'#####################################################################################

     

    Else

        MsgBox ("Das Makro funktioniert nur bei CATParts!")

        cmdStart.Enabled = True

        cmdAbbrechen.Enabled = True

        frmHauptformular.Repaint

        Exit Sub

    End If

 

    frmHauptformular.Show

    lblBeschreibung.Caption = "FERTIG!"

    cmdStart.Enabled = True

    cmdAbbrechen.Enabled = True

    cmdInfo.Enabled = True

    frmHauptformular.Repaint

 

    Exit Sub

 

Errorhandler:

    MsgBox ("Ein Fehler ist aufgetreten - Makroabbruch!")

 

    cmdStart.Enabled = True

    cmdAbbrechen.Enabled = True

    cmdInfo.Enabled = True

    frmHauptformular.Repaint

 

End Sub

Private Sub cmdAbbrechen_Click()

    End

End Sub

Private Sub Buchstabe_gross_A(ByRef XZentrum As Double, ByRef YZentrum As Double, ByRef factory2D1 As Factory2D, ByRef line2D As line2D, ByRef horizontal As line2D, ByRef vertikal As line2D, ByRef oConstraints As Constraints, ByRef oConstraint As Constraint, ByRef Zeichenabstand As Double)

     

    Dim Buchstabenlaenge_gross_A As Double                                                                  'Nimmt die X-Länge des entsprechenden Buchstabens auf

    Buchstabenlaenge_gross_A = 57.1429

    XZentrum = XZentrum + (Buchstabenlaenge_gross_A / 2) * (txtSchrifthoehe / 100)

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    XZentrum = XZentrum + ((Buchstabenlaenge_gross_A / 2) * (txtSchrifthoehe / 100))                        'Die halbe Buchstabenbreite zu XZentrum hinzufügen. (vom Zentrum zum rechten Rand rücken.)

    XZentrum = XZentrum + Zeichenabstand                                                                    'Dann den Zeichenabstand hinzufügen. (vom rechten Rand zum linken Rand des nächsten Buchstabens rücken.)

End Sub

Private Sub Buchstabe_gross_B(ByRef XZentrum As Double, ByRef YZentrum As Double, ByRef factory2D1 As Factory2D, ByRef line2D As line2D, ByRef horizontal As line2D, ByRef vertikal As line2D, ByRef oConstraints As Constraints, ByRef oConstraint As Constraint, ByRef Zeichenabstand As Double)

    Dim Buchstabenlaenge_gross_B As Double                                                                  'Nimmt die X-Länge des entsprechenden Buchstabens auf

    Buchstabenlaenge_gross_B = 57.1429

    XZentrum = XZentrum + (Buchstabenlaenge_gross_B / 2) * (txtSchrifthoehe / 100)

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 7.1429 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 21.4286 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 21.4286 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 7.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 7.1429 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 7.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    XZentrum = XZentrum + ((Buchstabenlaenge_gross_B / 2) * (txtSchrifthoehe / 100))                        'Die halbe Buchstabenbreite zu XZentrum hinzufügen. (vom Zentrum zum rechten Rand rücken.)

    XZentrum = XZentrum + Zeichenabstand                                                                    'Dann den Zeichenabstand hinzufügen. (vom rechten Rand zum linken Rand des nächsten Buchstabens rücken.)

End Sub

Sub Buchstabe_gross_C(ByRef XZentrum As Double, ByRef YZentrum As Double, ByRef factory2D1 As Factory2D, ByRef line2D As line2D, ByRef horizontal As line2D, ByRef vertikal As line2D, ByRef oConstraints As Constraints, ByRef oConstraint As Constraint, ByRef Zeichenabstand As Double)

    Dim Buchstabenlaenge_gross_C As Double                                                                  'Nimmt die X-Länge des entsprechenden Buchstabens auf

    Buchstabenlaenge_gross_C = 57.1429

 

    XZentrum = XZentrum + (Buchstabenlaenge_gross_C / 2) * (txtSchrifthoehe / 100)

 

    Set line2D = factory2D1.CreateLine(XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100), XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 28.5714 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    XZentrum = XZentrum + ((Buchstabenlaenge_gross_C / 2) * (txtSchrifthoehe / 100))                        'Die halbe Buchstabenbreite zu XZentrum hinzufügen. (vom Zentrum zum rechten Rand rücken.)

    XZentrum = XZentrum + Zeichenabstand                                                                    'Dann den Zeichenabstand hinzufügen. (vom rechten Rand zum linken Rand des nächsten Buchstabens rücken.)

End Sub


Private Sub Buchstabe_dick_gross_A(ByRef XZentrum As Double, ByRef YZentrum As Double, ByRef factory2D1 As Factory2D, ByRef line2D As line2D, ByRef circle2D As circle2D, ByRef horizontal As line2D, ByRef vertikal As line2D, ByRef oConstraints As Constraints, ByRef oConstraint As Constraint, ByRef Zeichenabstand As Double, PI As Double)

     

    Dim Buchstabenlaenge_gross_A As Double                                                                  'Nimmt die X-Länge des entsprechenden Buchstabens auf

    Buchstabenlaenge_gross_A = 57.1429

    XZentrum = XZentrum + (Buchstabenlaenge_gross_A / 2) * (txtSchrifthoehe / 100)

 

    Set line2D = factory2D1.CreateLine(XZentrum + 33.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 33.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), PI, 0) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 12.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 12.1429 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 12.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 12.1429 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), PI, 0) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 33.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum - 33.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 135 * PI / 180, PI) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 32.1071 * (txtSchrifthoehe / 100), YZentrum + 39.2498 * (txtSchrifthoehe / 100), XZentrum - 17.8212 * (txtSchrifthoehe / 100), YZentrum + 53.5355 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum - 14.2858 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 90 * PI / 180, 135 * PI / 180)  'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 14.2858 * (txtSchrifthoehe / 100), YZentrum + 55 * (txtSchrifthoehe / 100), XZentrum + 14.2858 * (txtSchrifthoehe / 100), YZentrum + 55 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 14.2858 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 45 * PI / 180, 90 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 17.8212 * (txtSchrifthoehe / 100), YZentrum + 53.5355 * (txtSchrifthoehe / 100), XZentrum + 32.107 * (txtSchrifthoehe / 100), YZentrum + 39.2498 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 0, 45 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 2.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

     

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 2.1429 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 2.14298 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

     

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 2.1429 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100), XZentrum - 12.2147 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 12.2147 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100), XZentrum + 12.2147 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2147 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    XZentrum = XZentrum + ((Buchstabenlaenge_gross_A / 2) * (txtSchrifthoehe / 100))                        'Die halbe Buchstabenbreite zu XZentrum hinzufügen. (vom Zentrum zum rechten Rand rücken.)

    XZentrum = XZentrum + Zeichenabstand                                                                    'Dann den Zeichenabstand hinzufügen. (vom rechten Rand zum linken Rand des nächsten Buchstabens rücken.)

End Sub

Private Sub Buchstabe_dick_gross_B(ByRef XZentrum As Double, ByRef YZentrum As Double, ByRef factory2D1 As Factory2D, ByRef line2D As line2D, ByRef circle2D As circle2D, ByRef horizontal As line2D, ByRef vertikal As line2D, ByRef oConstraints As Constraints, ByRef oConstraint As Constraint, ByRef Zeichenabstand As Double, PI As Double)

    Dim Buchstabenlaenge_gross_B As Double                                                                  'Nimmt die X-Länge des entsprechenden Buchstabens auf

    Buchstabenlaenge_gross_B = 57.1429

    XZentrum = XZentrum + (Buchstabenlaenge_gross_B / 2) * (txtSchrifthoehe / 100)

 

    Set line2D = factory2D1.CreateLine(XZentrum + 33.5715 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100), XZentrum + 33.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 315 * PI / 180, 2 * PI) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 32.1069 * (txtSchrifthoehe / 100), YZentrum - 39.2498 * (txtSchrifthoehe / 100), XZentrum + 17.8212 * (txtSchrifthoehe / 100), YZentrum - 53.5355 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 270 * PI / 180, 315 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 55 * (txtSchrifthoehe / 100), XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 55 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), PI, 270 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 33.5716 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), XZentrum - 33.5716 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 90 * PI / 180, PI) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 28.5716 * (txtSchrifthoehe / 100), YZentrum + 55 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 55 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 45 * PI / 180, 90 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 17.8212 * (txtSchrifthoehe / 100), YZentrum + 53.5355 * (txtSchrifthoehe / 100), XZentrum + 32.1069 * (txtSchrifthoehe / 100), YZentrum + 39.2498 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 0, 45 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

    Set line2D = factory2D1.CreateLine(XZentrum + 33.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), XZentrum + 33.5715 * (txtSchrifthoehe / 100), YZentrum + 21.4286 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum + 21.4286 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 315 * PI / 180, 2 * PI) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 32.107 * (txtSchrifthoehe / 100), YZentrum + 17.8931 * (txtSchrifthoehe / 100), XZentrum + 21.3567 * (txtSchrifthoehe / 100), YZentrum + 7.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 21.3567 * (txtSchrifthoehe / 100), YZentrum + 7.1429 * (txtSchrifthoehe / 100), XZentrum + 32.107 * (txtSchrifthoehe / 100), YZentrum - 3.6074 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum - 7.1429 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 0, 45 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 9.214 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 33.6432 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 33.6432 * (txtSchrifthoehe / 100), XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 2.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 2.1429 * (txtSchrifthoehe / 100), XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 2.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 2.1429 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum - 9.214 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum + 23.4997 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum + 23.4997 * (txtSchrifthoehe / 100), XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 12.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 12.1429 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 12.1429 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 12.1429 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100), XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100), XZentrum + 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    XZentrum = XZentrum + ((Buchstabenlaenge_gross_B / 2) * (txtSchrifthoehe / 100))                        'Die halbe Buchstabenbreite zu XZentrum hinzufügen. (vom Zentrum zum rechten Rand rücken.)

    XZentrum = XZentrum + Zeichenabstand                                                                    'Dann den Zeichenabstand hinzufügen. (vom rechten Rand zum linken Rand des nächsten Buchstabens rücken.)

End Sub

Sub Buchstabe_dick_gross_C(ByRef XZentrum As Double, ByRef YZentrum As Double, ByRef factory2D1 As Factory2D, ByRef line2D As line2D, ByRef circle2D As circle2D, ByRef horizontal As line2D, ByRef vertikal As line2D, ByRef oConstraints As Constraints, ByRef oConstraint As Constraint, ByRef Zeichenabstand As Double, PI As Double)

    Dim Buchstabenlaenge_gross_C As Double                                                                  'Nimmt die X-Länge des entsprechenden Buchstabens auf

    Buchstabenlaenge_gross_C = 57.1429

 

    XZentrum = XZentrum + (Buchstabenlaenge_gross_C / 2) * (txtSchrifthoehe / 100)

 

    Set line2D = factory2D1.CreateLine(XZentrum + 25.0358 * (txtSchrifthoehe / 100), YZentrum + 32.1788 * (txtSchrifthoehe / 100), XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100), XZentrum - 12.2146 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 12.2146 * (txtSchrifthoehe / 100), YZentrum + 45 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum + 33.6432 * (txtSchrifthoehe / 100), XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 33.6432 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set line2D = factory2D1.CreateLine(XZentrum - 23.5715 * (txtSchrifthoehe / 100), YZentrum - 33.6432 * (txtSchrifthoehe / 100), XZentrum - 12.2146 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum - 12.2146 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100), XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set line2D = factory2D1.CreateLine(XZentrum + 12.2146 * (txtSchrifthoehe / 100), YZentrum - 45 * (txtSchrifthoehe / 100), XZentrum + 25.0358 * (txtSchrifthoehe / 100), YZentrum - 32.1788 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

 

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 315 * PI / 180, 135 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 32.1069 * (txtSchrifthoehe / 100), YZentrum - 39.2498 * (txtSchrifthoehe / 100), XZentrum + 17.8212 * (txtSchrifthoehe / 100), YZentrum - 53.5355 * (txtSchrifthoehe / 100))

  Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 270 * PI / 180, 315 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum - 55 * (txtSchrifthoehe / 100), XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum - 55 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum - 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 225 * PI / 180, 270 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

    Set line2D = factory2D1.CreateLine(XZentrum - 17.8212 * (txtSchrifthoehe / 100), YZentrum - 53.5355 * (txtSchrifthoehe / 100), XZentrum - 32.1071 * (txtSchrifthoehe / 100), YZentrum - 39.2498 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), PI, 225 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 33.5715 * (txtSchrifthoehe / 100), YZentrum - 35.7143 * (txtSchrifthoehe / 100), XZentrum - 33.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum - 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 135 * PI / 180, PI) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 32.1071 * (txtSchrifthoehe / 100), YZentrum + 39.2498 * (txtSchrifthoehe / 100), XZentrum - 17.8213 * (txtSchrifthoehe / 100), YZentrum + 53.5355 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 90 * PI / 180, 135 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum - 14.2857 * (txtSchrifthoehe / 100), YZentrum + 55 * (txtSchrifthoehe / 100), XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 55 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum + 14.2857 * (txtSchrifthoehe / 100), YZentrum + 50 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 45 * PI / 180, 90 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    Set line2D = factory2D1.CreateLine(XZentrum + 17.8212 * (txtSchrifthoehe / 100), YZentrum + 53.5355 * (txtSchrifthoehe / 100), XZentrum + 32.107 * (txtSchrifthoehe / 100), YZentrum + 39.2498 * (txtSchrifthoehe / 100))

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.StartPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, line2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, line2D.EndPoint)              'Abstandsbemassung zwischen Linie und Punkt

    Set circle2D = factory2D1.CreateCircle(XZentrum + 28.5715 * (txtSchrifthoehe / 100), YZentrum + 35.7143 * (txtSchrifthoehe / 100), 5 * (txtSchrifthoehe / 100), 225 * PI / 180, 45 * PI / 180) 'MittelpunktX, MittelpunktY, Radius, Startwinkel, Endwinkel, (Einzugebender Wert für Kreis = Gewünschter Winkelwert x PI /180)

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.StartPoint)        'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.StartPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, horizontal, circle2D.EndPoint)          'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddBiEltCst(catCstTypeDistance, vertikal, circle2D.EndPoint)            'Abstandsbemassung zwischen Linie und Punkt

    Set oConstraint = oConstraints.AddMonoEltCst(catCstTypeRadius, circle2D)                                'Kreisradius vermassen

 

    XZentrum = XZentrum + ((Buchstabenlaenge_gross_C / 2) * (txtSchrifthoehe / 100))                        'Die halbe Buchstabenbreite zu XZentrum hinzufügen. (vom Zentrum zum rechten Rand rücken.)

    XZentrum = XZentrum + Zeichenabstand                                                                    'Dann den Zeichenabstand hinzufügen. (vom rechten Rand zum linken Rand des nächsten Buchstabens rücken.)

End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 01. Jul. 2022 10:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

Servus Martin

Meine Ideen wie du das Makro schneller (oder ggf eleganter) machen könntest:

  • während dem erstellen der Konturen CATIA.RefreshDisplay = False
    aktivieren
  • eventuell auf die ganzen Constrains verzichten und nur die Buchstaben bzw den ganzen Text gruppieren
  • die Buchstaben nicht immer neu erzeugen, sondern aus einer Vorlage (Drawing oder Part) kopieren
  • die Schrifthöhe über skalieren einstellen, dann sparst du dir die ganzen Berechnungen

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

martin2
Mitglied
Konstrukteur


Sehen Sie sich das Profil von martin2 an!   Senden Sie eine Private Message an martin2  Schreiben Sie einen Gästebucheintrag für martin2

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 04. Jul. 2022 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
Danke für die Infos.

a) während dem Erstellen der Konturen CATIA.RefreshDisplay = False
aktivieren
-> getestet. Brachte bei mir keine Geschwindigkeitsvorteile.

b) eventuell auf die ganzen Constrains verzichten und nur die Buchstaben bzw den ganzen Text gruppieren

-> Das Problem sind in der Tat die Constrains. Wenn ich diese auskommentiere, so läuft das Makro superschnell.

Frage: Wie lautet der Code um die erzeugten Linien in der Skizze zu fixieren?

c) die Buchstaben nicht immer neu erzeugen, sondern aus einer Vorlage (Drawing oder Part) kopieren

-> Da das Makro schon soweit fertig ist, möchte ich da jetzt vorerst nichts verändern.

d) die Schrifthöhe über skalieren einstellen, dann sparst du dir die ganzen Berechnungen.

-> Zu spät. Das Makro ist soweit schon fertig.


Danke und Gruß
Martin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Jul. 2022 12:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für martin2 10 Unities + Antwort hilfreich

Servus Martin

Fixieren wohl mit einem Constrain (eventuell dann wieder langsam): Methode AddMonoEltCst mit Typ catCstTypeReference
Gruppiere (fix together) wohl nur über Startcommand: siehe hier

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz