puxa Geschrieben 29. April 2019 Teilen Geschrieben 29. April 2019 Hallo Community, ich arbeite momentan im Ausland und habe daher immer wieder mit DWG Dateien zu tun. Ich wurde nun damit beauftragt in einem DWG/DXF Dokument welches durch Plotstil Manager angelegt ist, die Liniendicken zu ändern. Da ich weiterhin mit Vectorworks arbeiten möchte, habe ich beim importieren der DXF Datei die entsprechenden Einstellungen vorgenommen (Farben als Liniendicken importieren). Das hat erstmal wunderbar geklappt. Ich würde nun gerne wissen, ob sich diese Konvertierungen nur auf die Daten vom importierten DXF Dokument beziehen oder ob auch die Möglichkeit besteht mit genau diesen Einstellungen weiter zu zeichnen. Das heißt also zum Beispiel: drei Farben (Gelb, Rot, Blau) welche für jeweils 0,3 ; 0,25 ; 0,13 Liniendicke stehen wurden erfolgreich konvertiert und angezeigt, wenn ich nun beispielsweise Linien ergänzen möchte und eine der drei Farben wähle ändert sich momentan die Liniendicke nicht und bleibt bei 0,1 oder eben wie vorher eingestellt. Gibt es also irgendwo die Einstellungsmöglichkeit die zugeschriebenen Liniendicken auch auf neu gezeichnete, also auf VW eigene Linien zu übertragen? Danke im Voraus! Link zu diesem Kommentar
Manuel Roth Geschrieben 29. April 2019 Teilen Geschrieben 29. April 2019 Wenn du die Attribute separat zuweist (was gar nicht empfehlenswert ist!!!) kannst du mit dem Zauberstab alle Objekte einer bestimmten Farbe anwählen und ihnen anschliessend eine Liniendicke zuweisen. Ansonsten würde ich so etwas über die Klassen regeln. Dort kannst du bei den Stiftattributen die Liniendicke angeben. Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 Link zu diesem Kommentar
puxa Geschrieben 29. April 2019 Autor Teilen Geschrieben 29. April 2019 Danke für die Antwwort manuel aber so wie du das beschreibst arbeite ich normalerweise sonst auch. Es ging jetzt darum das in einem Preset so zu regeln, dass, ebenenunabhängig verschiedene Liniendicken angewendet werden. Außerdem habe ich gerade getestet das importierte DXF Dokument (später in VW Datei umgewandelt) als PDF zu exportieren, dabei gab es dann das Problem, dass die Farbkonvertierung nicht im PDF übernommen wurden. Das heißt jetzt sind alle Linien bunt anstatt Schwarz und unterschiedlich dick. Link zu diesem Kommentar
temp676 Geschrieben 30. April 2019 Teilen Geschrieben 30. April 2019 Wir hatten früher mal Vector Scripts für sowas genutzt. Linie schwarz, 0.03 mm PROCEDURE SetAttributes; VAR ActObject:Handle; {Dieses Makro stellt die folgenden Attribute ein:} {Liniendicke=0.03mm, Stiftmustervordergrundfarbe=Schwarz} {************ Hier ƒnderungen vornehmen ************} PROCEDURE SetzeGlobaleWerte; BEGIN PenFore(1); {Stiftmustervordergrundfarbe} PenSize(1); {Liniendicke in Mils} END; {SetzeGlobaleWerte} PROCEDURE SetzeObjektWerte; BEGIN SetPenFore(ActObject, 1); {Stiftmustervordergrundfarbe} SetLW(ActObject,1); {Liniendicke in Mils} {************** Hier Ende ƒnderungen **************} REDRAW; END; {SetzeObjektWerte} PROCEDURE RunThroughLists; CONST MaxLevel = 100; VAR Level : integer; PosInLevel : array [0..MaxLevel] of Handle; BEGIN PosInLevel[0]:= NIL; Level:= 1; {in keiner Gruppe} ActObject:= FSActLayer; REPEAT IF ActObject=NIL THEN BEGIN Level:= Level - 1; ActObject:= PosInLevel[Level]; END ELSE IF GetType(ActObject)=11 THEN BEGIN PosInLevel[Level]:= NextSObj(ActObject); Level:= Level + 1; ActObject:= FInGroup(ActObject); IF NOT Selected(ActObject) THEN ActObject:= NextSObj(ActObject); END ELSE BEGIN SetzeObjektWerte; ActObject:=NextSObj(ActObject); END; UNTIL (Level=0); END; {RunThroughLists} BEGIN IF FSActLayer=NIL THEN SetzeGlobaleWerte ELSE BEGIN RunThroughLists; Scale(1,1) END END; {SetAttributes} RUN(SetAttributes); Linie rot, 0.18 mm PROCEDURE SetAttributes; VAR ActObject:Handle; {Dieses Makro stellt die folgenden Attribute ein:} {Liniendicke=0.18mm, Stiftmustervordergrundfarbe=Rot} {************ Hier ƒnderungen vornehmen ************} PROCEDURE SetzeGlobaleWerte; BEGIN PenFore(7); {Stiftmustervordergrundfarbe} PenSize(7); {Liniendicke in Mils} END; {SetzeGlobaleWerte} PROCEDURE SetzeObjektWerte; BEGIN SetPenFore(ActObject, 7); {Stiftmustervordergrundfarbe} SetLW(ActObject,7); {Liniendicke in Mils} {************** Hier Ende ƒnderungen **************} REDRAW; END; {SetzeObjektWerte} PROCEDURE RunThroughLists; CONST MaxLevel = 100; VAR Level : integer; PosInLevel : array [0..MaxLevel] of Handle; BEGIN PosInLevel[0]:= NIL; Level:= 1; {in keiner Gruppe} ActObject:= FSActLayer; REPEAT IF ActObject=NIL THEN BEGIN Level:= Level - 1; ActObject:= PosInLevel[Level]; END ELSE IF GetType(ActObject)=11 THEN BEGIN PosInLevel[Level]:= NextSObj(ActObject); Level:= Level + 1; ActObject:= FInGroup(ActObject); IF NOT Selected(ActObject) THEN ActObject:= NextSObj(ActObject); END ELSE BEGIN SetzeObjektWerte; ActObject:=NextSObj(ActObject); END; UNTIL (Level=0); END; {RunThroughLists} BEGIN IF FSActLayer=NIL THEN SetzeGlobaleWerte ELSE BEGIN RunThroughLists; Scale(1,1) END END; {SetAttributes} RUN(SetAttributes); Linie grün, 0.25 mm PROCEDURE SetAttributes; VAR ActObject:Handle; {Dieses Makro stellt die folgenden Attribute ein:} {Liniendicke=0.25mm, Stiftmustervordergrundfarbe=Grün} {************ Hier ƒnderungen vornehmen ************} PROCEDURE SetzeGlobaleWerte; BEGIN PenFore(6); {Stiftmustervordergrundfarbe} PenSize(10); {Liniendicke in Mils} END; {SetzeGlobaleWerte} PROCEDURE SetzeObjektWerte; BEGIN SetPenFore(ActObject, 6); {Stiftmustervordergrundfarbe} SetLW(ActObject,10); {Liniendicke in Mils} {************** Hier Ende ƒnderungen **************} REDRAW; END; {SetzeObjektWerte} PROCEDURE RunThroughLists; CONST MaxLevel = 100; VAR Level : integer; PosInLevel : array [0..MaxLevel] of Handle; BEGIN PosInLevel[0]:= NIL; Level:= 1; {in keiner Gruppe} ActObject:= FSActLayer; REPEAT IF ActObject=NIL THEN BEGIN Level:= Level - 1; ActObject:= PosInLevel[Level]; END ELSE IF GetType(ActObject)=11 THEN BEGIN PosInLevel[Level]:= NextSObj(ActObject); Level:= Level + 1; ActObject:= FInGroup(ActObject); IF NOT Selected(ActObject) THEN ActObject:= NextSObj(ActObject); END ELSE BEGIN SetzeObjektWerte; ActObject:=NextSObj(ActObject); END; UNTIL (Level=0); END; {RunThroughLists} BEGIN IF FSActLayer=NIL THEN SetzeGlobaleWerte ELSE BEGIN RunThroughLists; Scale(1,1) END END; {SetAttributes} RUN(SetAttributes); Linie blau, 0.35 mm PROCEDURE SetAttributes; VAR ActObject:Handle; {Dieses Makro stellt die folgenden Attribute ein:} {Liniendicke=0.35mm, Stiftmustervordergrundfarbe=Blau} {************ Hier ƒnderungen vornehmen ************} PROCEDURE SetzeGlobaleWerte; BEGIN PenFore(4); {Stiftmustervordergrundfarbe} PenSize(14); {Liniendicke in Mils} END; {SetzeGlobaleWerte} PROCEDURE SetzeObjektWerte; BEGIN SetPenFore(ActObject, 4); {Stiftmustervordergrundfarbe} SetLW(ActObject,14); {Liniendicke in Mils} {************** Hier Ende ƒnderungen **************} REDRAW; END; {SetzeObjektWerte} PROCEDURE RunThroughLists; CONST MaxLevel = 100; VAR Level : integer; PosInLevel : array [0..MaxLevel] of Handle; BEGIN PosInLevel[0]:= NIL; Level:= 1; {in keiner Gruppe} ActObject:= FSActLayer; REPEAT IF ActObject=NIL THEN BEGIN Level:= Level - 1; ActObject:= PosInLevel[Level]; END ELSE IF GetType(ActObject)=11 THEN BEGIN PosInLevel[Level]:= NextSObj(ActObject); Level:= Level + 1; ActObject:= FInGroup(ActObject); IF NOT Selected(ActObject) THEN ActObject:= NextSObj(ActObject); END ELSE BEGIN SetzeObjektWerte; ActObject:=NextSObj(ActObject); END; UNTIL (Level=0); END; {RunThroughLists} BEGIN IF FSActLayer=NIL THEN SetzeGlobaleWerte ELSE BEGIN RunThroughLists; Scale(1,1) END END; {SetAttributes} RUN(SetAttributes); Bei den Farben waren es glaub ich die Farbnummer der Vectorworks Farbpalette, falls ich mich richtig erinnere. Bei den Stiftdicken meinte ich haben wir einfach ausprobiert. VW2023 SP8 R1 (Build 733832) Architektur iMac 5K i5-6500 16GB R9 M390 2GB macOS 12.7 Ryzen 9 7900X 64GB RX 7800XT 16GB Win11 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