blechdose Geschrieben 18. Dezember 2012 Teilen Geschrieben 18. Dezember 2012 Hallo zusammen, ich habe wieder einmal eine Frage: Wie kann ich am einfachsten diie Gesamtlänge, verschiedenen Linien anzeigen lassen? Die Linien sind nicht miteinander verbunden. Es geht um einen Kanalisationsplan, wobei ich gerne die Laufmeter der verschiedenen Leitungen auslesen möchte, ohne alle zusammen rechnen zu müssen. Ich hoffe Ihr könnt mir dabei weiter helfen, Danke schon einmal! Link zu diesem Kommentar
cadtischler Geschrieben 18. Dezember 2012 Teilen Geschrieben 18. Dezember 2012 Hallo Blechdose, ein Vectorscript könnte das. Zum Beispiel die Länge aller aktiven Linien summiert ausgeben. Schönen Gruß, Uwe. VW 2014 Interiorcad - Vectorscript - AV - Mac OS X 10.9 , www.cadtischler.de Link zu diesem Kommentar
cadtischler Geschrieben 18. Dezember 2012 Teilen Geschrieben 18. Dezember 2012 Ich habe es eben getestet, s. den Screenshot. Es werden alle aktiven Linien, Rechtecken, Ovals, Polygonen, Kreisbögen, Kreise und Polylinien mit ihren Längen addiert. Das Script steht unten, natürlich ohne Garantie ;-) Schönen Gruß, Uwe. PROCEDURE WPMNTest1; (* Addiert die Längen von (* Linien, Rechtecken, Oval, Polygonen, Kreisbögen, Kreisen, Polylinien (* (* © cadtischler.de *) VAR Laenge:REAL; PROCEDURE WPMNTest2(h:HANDLE); VAR x:REAL; BEGIN CASE GetTypeN(h) OF 2 : x:=HLength(h); 3,4,5,6,21 : x:=HPerim(h); END; Laenge:=Laenge+x; END; BEGIN Laenge:=0; ForEachObject(WPMNTest2,(SEL=TRUE)); Message('Alle aktiven Linien zusammen haben eine Länge von ',Num2StrF(Laenge)); END; Run(WPMNTest1); VW 2014 Interiorcad - Vectorscript - AV - Mac OS X 10.9 , www.cadtischler.de Link zu diesem Kommentar
blechdose Geschrieben 19. Dezember 2012 Autor Teilen Geschrieben 19. Dezember 2012 Hallo Uwe Vielen Dank für Deine Hilfe! Es funktioniert schon fast perfekt. Wollte jetzt noch di Attribute hinzufügen, so das ich diese nicht vorgängig selber aktivieren muss, sondern alles automatisch über das Script funktioniert. Jedoch bekomme ich die ganze Zeit ein Error (sihene Screenshot). gruss blechdose Procedure CustTool; VAR Name:STRING; Result:BOOLEAN; BEGIN PenSize(3); NameClass('Kana.- Schmutzwasser'); Layer('Kanalisation'); PenBack(256); PenFore(257); END; Run(CustTool); PROCEDURE WPMNTest1; (* Addiert die Längen von (* Linien, Rechtecken, Oval, Polygonen, Kreisbögen, Kreisen, Polylinien (* (* © cadtischler.de *) VAR Laenge:REAL; PROCEDURE WPMNTest2(h:HANDLE); VAR x:REAL; BEGIN CASE GetTypeN(h) OF 2 : x:=HLength(h); 3,4,5,6,21 : x:=HPerim(h); END; Laenge:=Laenge+x; END; BEGIN Laenge:=0; ForEachObject(WPMNTest2,(SEL=TRUE)); Message('Alle aktiven Linien zusammen haben eine Länge von ',Num2StrF(Laenge)); END; Run(WPMNTest1); Link zu diesem Kommentar
cadtischler Geschrieben 19. Dezember 2012 Teilen Geschrieben 19. Dezember 2012 Hallo Blechdose, Es darf nur ein RUN geben. Eine weitere Procedure muss IN der "Kapsel" WPMNTest1 stehen, so wie auch die Procedure WPMNTest2. Auch muss sie das aus dem "Hauptprogramm" (ähnlich dem main{} in C) aufgerufen werden. Deine Procedure CustTool legt eine neue Klasse und einen neuen Layer an und setzt Stifte. Wozu dienst das ? Wenn Du alle Objecte auf dem Layer "Kanalisation" in der Klasse "Kana..." mit PenSize=3 aktivieren willst, ginge das am einfachsten mit dem Zauberstab = Ähnliches aktivieren. Das Werkzeug hat umfangreiche Einstellmöglichkeiten, s. Screenshot. Alternativ kannst Du im Script in der vorletzten Zeile die Auswahl der Objekte bestimmen, in der Art: ForEachObject(WPMNTest2,( (L='Konstruktion') & (C='Bemaßung') & (LW=7) & (PF=258) & (PB=260)); Die Möglichkeiten hierzu finden sich in der Vectorscript-Doku unter "Criteria". Viel Spaß, Uwe. VW 2014 Interiorcad - Vectorscript - AV - Mac OS X 10.9 , www.cadtischler.de Link zu diesem Kommentar
jimms Geschrieben 22. März 2018 Teilen Geschrieben 22. März 2018 Vielen Dank für das Skript, cadtischler. Auch im englischsprachigen Vectorworksforum habe ich nichts dazu gefunden. Wenn ich die Länge der Linien auslesen lassen will, dann funktioniert das leider nur, wenn ich die Objekte in ein komplett neues Dokument kopiere. Beim Auslesen der Länge in meiner Planungsdatei kommt nur Unsinn heraus. Link zu diesem Kommentar
_Toby_ Geschrieben 22. März 2018 Teilen Geschrieben 22. März 2018 mach doch einfach kurz eine Tabelle und lass die die Längen ausgeben, dann kannst du sie zusammenrechnen lassen VW 2023 Architektur SP1 | Cinema 4D R19 mit V-ray 3.4 | OS X 12.6 Link zu diesem Kommentar
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden