Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  TurboCAD
  Wie kann ich die totale Linienlänge einer 2-D Zeichnung feststellen?

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Turbocad
Autor Thema:  Wie kann ich die totale Linienlänge einer 2-D Zeichnung feststellen? (2126 mal gelesen)
tdw-wetzel
Mitglied
Selbständige Kauffrau

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

Beiträge: 1
Registriert: 15.02.2005

erstellt am: 15. Feb. 2005 17: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

Erstelle 2-D Konstruktionszeichnungen für Karton-Stanzwerkzeuge.
Benötige zur Errechnung des Materialbedarfs und der Kosten die totale Länge der Linien und Kurven aller sichtbaren Layer.
Wenn alle Linien und Kurven aktiviert sind, sollte die totale Länge auf einen Befehl ermittelt werden können.
Diese Option kann ich im TurboCAD 10 nicht finden,
es kann doch nicht sein, dass ich die einzelnen Linien bemaßen und
addieren muß!  Wer kann mir helfen?

------------------
IWE

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

Dieter Brockners
Mitglied



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

Beiträge: 22
Registriert: 22.01.2005

Pentium 2.4 GHz, 512 MB RAM Win XP SP2
TC Prof. ab 3.0 - 10.1

erstellt am: 16. Feb. 2005 11:13    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 tdw-wetzel 10 Unities + Antwort hilfreich

es kann doch nicht sein, dass ich die einzelnen Linien bemaßen und
addieren muß! 

Ne, brauchst du nicht. Mit (ich glaube unter Extras) Abfrage/Abstand kannst du unter Verwendung von Fang_Scheitelpunkt von Punkt zu Punkt springen und schon hast du die länge. Bei Kurven benutze ich "nächster Punkt am Objekt", das ist zwar etwas ungenau, muss man halt etwas öfter klicken.
Gruß Dieter

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

fcaspar
Mitglied
Konstrukteur


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

Beiträge: 347
Registriert: 09.06.2000

erstellt am: 16. Feb. 2005 13:06    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 tdw-wetzel 10 Unities + Antwort hilfreich

Hi, da für alle 2D-Elemente in der Auswahl-Palette unter Maße auch die Länge angegeben ist, sollte es theoretisch mit einem Macro lösbar sein, die entsprechende Variable aller Markierten Elemente auslesen und summieren.

Komfortabler für den nicht VBA-bewanderten CAD'ler ist die Ausgabe in einem Datenbankbericht, hier mußt du aber alle einzellängen dem Element zuordnen, dann kannst du im bericht auch die Summe bilden.

Das Auslesen der Objekteigenschaften über eine entsprechende Funktion in der Datenbank ist leider "noch nicht ?" vorhanden.

Ciao Frank

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

fcaspar
Mitglied
Konstrukteur


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

Beiträge: 347
Registriert: 09.06.2000

Solidworks 2008
DBWorks R10 SP2.6

erstellt am: 17. Feb. 2005 17:43    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 tdw-wetzel 10 Unities + Antwort hilfreich

hI, hat mir keine Ruhe gelassen, deshalb hier ein erster Ansatz in VBA:

------------------------------
Public Sub gesamtlaenge()


Dim App As Application
Dim ActDr As Drawing
Dim Grs As Graphics
Dim Gr As Graphic
Dim Prop As Properties
Dim ObjSel As Selection
Dim NumSel As Long, i As Long
Dim GrSelType As String


   
    Set App = IMSIGX.Application    'Returns base application - TurboCAD
    Set ActDr = App.ActiveDrawing  'Returns Active Drawing
   
    'ActDr.SelectAll                Aktiviert alle Elemente der Zeichnung
   
    Set ObjSel = ActDr.Selection    'Returns Selected objects as Selection collection
    NumSel = ObjSel.Count  'Returns the number of items in the collection.



If NumSel = 0 Then
        MsgBox ("Es wurden keine 2D-Elemente ausgewählt!")
        Exit Sub
    End If

Dim gl#, leange#, bogen#, umfang#, ausgabe

gl = 0

For i = 0 To NumSel - 1
Set Gr = ObjSel.Item(i): 'Returns part of a collection - graphic in the selection collection
        GrSelType = Gr.Type
       
        If GrSelType = "GRAPHIC" Then
           
            Set Prop = Gr.Properties 'Wählt die Eigenschaften
            leange = Prop.Item(89)
            gl = gl + leange
           
            End If
           
            If GrSelType = "ARC" Then
           
            Set Prop = Gr.Properties 'Wählt die Eigenschaften
            bogen = Prop.Item(102)
            gl = gl + bogen
           
            End If
Next i
           
           
  ausgabe = MsgBox("Die Gesamtlänge der Elemente ist " & CStr(Round(gl, 2)) & " mm")
 
ActDr.UnselectAll


End Sub

-----------------------------

Dieses Macro berechnet die Gesamtlänge von selektierten Linien und Kreisbögen. Soll nur erstmal als Beispiel dienen um zu zeigen daß es möglich ist.

Wenn sich in der Zeichnung auch geschlossene Polylinien, Kreisumfänge oder Splines vorkommen, müßte der Code entsprechend erweitert werden.

Wenns interessiert, wirds diskutiert.

Ciao Frank

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

RexDanni
Moderator





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

Beiträge: 2017
Registriert: 06.06.2000

erstellt am: 18. Feb. 2005 09:39    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 tdw-wetzel 10 Unities + Antwort hilfreich

Hi Frank
das war ja klar das Dich sowas reizt 
Natürlich wirds erst interessant wenn die Splines usw.. dazu kommen 

Vielleicht kanst Du das macro ja bei gelegenheit erweitern,
dann hätten wir mal wieder was für unsere Hilfeseite 

Unis sind jedenfalls draussen.

Servus
hans jörg 

------------------
www.cnc-modellbautechnik.de

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

fcaspar
Mitglied
Konstrukteur


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

Beiträge: 347
Registriert: 09.06.2000

Solidworks 2008
DBWorks R10 SP2.6

erstellt am: 18. Feb. 2005 13:35    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 tdw-wetzel 10 Unities + Antwort hilfreich

Hallo,

nun ja, mit den Splines ist das so eine Sache: Für die wird nämlich in der Auswahl-Palette unter Maße keine Länge angezeigt, vermute mal, daß die TC dann auch nicht ermittelt. Damit dürfte die entsprechende Variable in den Prop's auch keinen Wert enthalten, den man auswerten kann. Muß eh erstmal schauen, ob es die Variablen überhaupt gibt. Womit wir wieder bei der mangelhaften Dokumentation zu den TC-Objekten wären. Aber das hatten wir ja schon.

Ich werds mal im Auge behalten.

Hab grade nen Weg gefunden die Länge eines Splines zu ermitteln:

If GrSelType = "TCW30CURVE" And GrSelTypeVal = imsiPolyline Then  'Spline
           
            Gr.Explode
            Set Gr = ObjSel.Item(i)
            GrSelType = Gr.Type
            GrSelTypeVal = Gr.TypeByValue
            Set Prop = Gr.Properties 'Wählt die Eigenschaften
            laenge = Prop.Item(89)
            gl = gl + laenge
            ActDr.Undo
           
            End If

Ciao Frank

[Diese Nachricht wurde von fcaspar am 18. Feb. 2005 editiert.]

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



E-Planer (m/w/d)
Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in den Technologiebereichen ...
Anzeige ansehenElektrotechnik, Elektronik
defekt
Mitglied
fashion design


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

Beiträge: 50
Registriert: 03.05.2004

erstellt am: 16. Jun. 2005 00: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 tdw-wetzel 10 Unities + Antwort hilfreich

Oh super, es tut sich was hier...

Leider funktioniert das Ganze nicht bei mir.
Das mit den Deklarationen und der Prozedur einfügen dürfte ich zusammengebracht haben, denn die Fehlermeldung "Es sind keine 2DObjekte selektiert" ist gekommen. Nachdem ich in TC ein paar Linien selektiert hatte, hat es nicht funktioniert, es kam leider immer die Meldung: "Laufzeitfehler '-2147352565 (8002000b)':Array index is out of bounds."
Wenn ich beim Anzeigen der Fehlermeldung auf den Button "Debuggen" geklickt habe, blieb er stehen und unterlegte folgende Zeilen gelb:
bogen = Prop.Item(102) Wenn ich einen Bogen markiert hatte
oder
laenge = Prop.Item(89)
wenn ich eine Linie markiert hatte.

Kann es sein, dass ich da was ändern muss, weil ich eine englische Version habe (Version 9.5) oder was kann die Ursache sein?

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