Jump to content

Dominique Corpataux

ComputerWorks AG
  • Gesamte Inhalte

    66
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    2

Dominique Corpataux hat zuletzt am 5. August gewonnen

Dominique Corpataux hat die beliebtesten Inhalte erstellt!

Reputation in der Community

10 Gut

3 Benutzer folgen diesem Benutzer

Über Dominique Corpataux

  • Rang
    Power-User

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeigt.

  1. Hallo Urs Die Export Funktion unterstützt grundsätzlich die Kantenreihenfolge, bzw. die Eckausbildung (Gehrung, Längs durchlaufend, quer durchlaufend). Beispielsweise geben wir Kantenstösse für andere Schweizer ERPs aus (Triviso, SwissSoft, AK-Soft) aus. Die Schnittstellendefinition zu BormBusiness ist jedoch schon etwas älter und die Kantenstösse werden gemäss Standard-Einstellung von BormBusiness ausgebildet/importiert, was in der Praxis insbesondere bei Dünnkanten (bis 2mm) in den meisten Betrieben den Anforderungen genügt. Ein genereller Modernisierungswunsch wurde vor ein paar Monaten bei den Verantwortlichen für diese Schnittstelle bereits deponiert.
  2. @Ernzerhof Hallo Denise Datei-Link ist korrigiert. Grüsse Dominique
  3. Der Inhalt eines Nodes das ich benutze um Dateien auszuwählen. Es tut vom Prinzip her etwas ähnliches, was Du haben willst: 1. Wird der Button "Pick File" gedrückt, dann kann man eine Datei auswählen. Das Script wird aber nicht weiter ausgeführt (blocked = True). Es wird aber der Pfad in ein Feld geschrieben. 2. Wenn man dann das Script ausführt (ohne Button) wird der Pfad aus dem Feld gelesen. Im Prinzip könnte man die Zeile mit vs.GetFile... auswechseln Durch ein Dialogfenster, in welchem man einen Wert einstellt, welcher dann in das Feld geschrieben wird und dann später wenn man das Script normal ausführt von dort gelesen wird. Das selbe Prinzip wie das Beispiel von Antonio. #DomC 2019 @Marionette.NodeDefinition class Params(metaclass = Marionette.OrderedClass): By = 'DomC';import datetime; now = datetime.datetime.now(); y80f5 = now.year;m80f5 = now.month; d80f5 = now.day; h180f5 = now.hour; mi180f5 = now.minute; s180f5 = now.second; ms180f5 = now.microsecond; h2 = now.hour-12 if now.hour >=13 else now.hour; VersionChange1 = str(y80f5)+' '+str(m80f5)+' '+str(d80f5); VersionChange2 = str(y80f5)+'-'+str(m80f5)+'-'+str(d80f5)+'-'+str(h2)+'-'+str(mi180f5); TextStatic = Marionette.OIPControl( By +' v'+VersionChange2, Marionette.WidgetType.TextStatic, "") #APPEARANCE #Name this = Marionette.Node( 'Pick File' ) this.SetDescription( 'Returns a File Path' ) #Input Ports #OIP Controls path = Marionette.OIPControl( 'FilePath', Marionette.WidgetType.Text, '') path.SetDescription('Write Path or click the Button below') Int = Marionette.OIPControl( 'Pick File', Marionette.WidgetType.Button, 'script', 'description') Int.SetDescription('Shows Criteria dialog') #Output Ports s_path = Marionette.PortOut('h') s_path.SetDescription('Return the path string for further operations') #BEHAVIOR def RunNode(self): #inputs path = self.Params.path.value #script #out self.Params.s_path.value = path def script(self): import os dir = os.path.dirname(vs.GetFPathName()) bool, path = (vs.GetFileN('Select File', dir, '')) self.Params.path.SetValue(path) #if bool: # self.Params.s_path.value = path #else: self.Params.s_path.blocked = True
  4. @Jacksen Hallo Jacksen. Die Lösung mit Bordmitteln ist nie falsch. Zum obigen Beispiel im US Forum muss man sagen, dass es eine korrigierte Fassung gibt, diese aber wohl erst jetzt hochgeladen wurde 🙂
  5. Hallo Manuel Du hast den Durchblick ... Das Beispiel ist schon etwas älter und hat für die 2019er Version ein kleines Update benötigt. Verfügbar hier. https://forum.vectorworks.net/index.php?/files/file/214-marionette-translate-character-to-geometry/ Normalerweise sind die Scripte gut Aufwärtskompatibel aber es gibt hier das Ausnahmeproblem mit "vs.GetTypeN()". Diese Funktion wurde (fälschlicherweise) in vielen Nodes verwendet (copy Paste) und war eigentlich schon vor drei Jahren "obsolet". CreateFontDict ist ein Nodes, welches mit Hilfe von Positionierungsrechtecken, den Inhalt eines Textes jeweils mit einem Objekt paaren kann. Dies Paarung wird mit einer Dictionary sequence ausgeben statt einer Liste. Das hat den Vorteil, dass man z.B. mit aufrufen des keys 'X' das Vectorwors Objekt 'Y' aufrufen kann.
  6. @Manuel Roth Mir gefällt Dein Beispiel und die Strategie, die Elemente auf diese Weise zusammenzubauen. Diese Vorgehen ist sehr effizient, weil die Komplexität der Objekte (Schraffur, Klasse, Geometry u.s.w.) nicht im Script erzeugt werden muss, sondern von einer "Vorgabe-Geometrie" übernommen und verändert wird. Ursprünglich kommt das unterschiedliche Verhalten vom Move Node. Dieses ist nicht ganz wasserdicht. Die Script Engine, verschiebt unterschiedliche Objekttypen und unterschiedlich ausgerichtete Objekte (Bildschirmebene, Konstruktionsebene, 3D) mit unterschiedlichen Befehlen vs.Move3DObj() und vs.HMove() Im Move-Node, gibt es eine Abfrage, wie ein Objekt verschoben werden soll, welche etwas Lückenhaft ist, wenn es um Gruppen, Text und Symbole geht. Ich habe das bereits beim Entwicklerteam deponiert. Um dieses Problem zu kompensieren, hast Du dann versucht, das Ganze mit der PlugIn Position zu verrechnen, was dann zusätzlich dazu führt, dass ein Objekt Nullpunktabhängig in der Gegend rumspringt. Nun gut, ich hoffe, diese Infos waren jetzt nicht allzu unverständlich. Jedenfalls kann man das ganze folgendermassen hinbekommen: 1. Ich benutze ein Node, welches explizit nur 2D Arbeitet, dafür alles verschiebt, was Du in Deinen Zeichnungen verwendest. Oder Du editierst folgende Zeile im Move Node: planar = Marionette.Is2DObject(i) in: planar = True Dazu muss die oberste Zeile (verlinkung auf Bibliothek) im Node gelöscht werden. Dann die Positionierungseschichte mit der PlugIn Position wieder rausnehmen: Danach schnurrt dein PlugIn wie ein Kätzchen Bauteile Script.mp4 Schönes Beispiel. Wäre doch schön, Du könntest dieses im Marionette Forum mit der Community teilen: https://forum.vectorworks.net/index.php?/files/ Bemerkungen: Ob das mit Namen gemacht werden soll, darüber kann man sicher noch diskutieren. Denkbar wären auch Symbole, Control.Geometrie, Klassennamen, Ebenennamen oder Feldbeschriftung. Feldbeschriftung wäre mein Favorit. Dabei werden die Objekte aufgrund ihrer Positionierung in einem beschrifteten Positionsrahmen eingelesen. Keine Namen wären nötig. Verwandtes Beispiel wäre dieses hier. Statt Schichten übereinander zu stapeln, werden hier Buchstaben, bzw. Möbel nebeneinander "gestapelt". D.h. Du würdes auf ähnliche Weise Deine Bestandteile in die Felder zeichnen und durch die Feldbeschriftung wäre das Teil identifiziert. Für Deinen Anwendungsbereich, müsstest Du zusätzlich noch eine zusätzliche übergeordnete Verschachtelung einbauen. https://forum.vectorworks.net/index.php?/topic/48611-vector-font-and-more/ Boden v2.vwx
  7. Hallo Ein Marionette-Beispiel für das Anlegen von Räumen aus einer Vectorworks Tabelle gibt es bereits: https://forum.vectorworks.net/index.php?/files/file/81-spacesfromlistvwx/ So wie es jetzt ist, macht es Quadratische Raumobjekte aus der Liste und platziert diese nebeneinander. Rechtecke machen, wäre im Prinzip noch viel einfacher gewesen. Import von csv (oder Text Tab) Dateien, welche man aus Excel Dateien abspeichern kann ist auch schon mit Marionette gelöst. Ohne lange sich mit Marionette auseinanderzusetzen wird das einfachste sein, die Vorlage zu verwenden, die Spalten von Excel in's VW mit copy/paste einzufügen (Achtung, quadratmeter Kommatrennzeichen sollten glaube ich punkte sein, wenn es nicht geht Komma probieren ansonsten in Excel runden auf ganze Quadratmeter, alles auf der Vorgabe machen, wo auch der Tabellenname stimmt). Dann werden die Räume generiert. Falls Du Keine Räume haben möchtest, die Räume auflösen in Polygone. Oder das Script verändern und den Raum durch ein Rechteck ersetzen (aber wie gesagt ... ohne sich damit auseinanderzusetzen einfach so verwenden wie es ist und dann in die Originalzeichnung kopieren) Fragen/Kommentare zum Script bitte direkt im US-Forum. Grüsse Dominique
  8. Hallo Bezüglich dieses Themas, habe ich mal ein Script im US-Forum geposted. Eine Methode, wie man hunderte von Bildern als Texturen ins Vectorworks reinladen kann. Nicht genau das was Du suchst, geht aber in diese Richtung und kann Dir vielleicht helfen. https://forum.vectorworks.net/index.php?/topic/46877-create-a-texture-with-color-shader-with-imported-image/&do=findComment&comment=239269 Da hat es auch ein Script, um die Materialien danach umzubenennen. Eingenschaften Ändern, wäre im Prinzip auch mit einem Script möglich. Bedienung: 1. Script kopieren und in ein Vectorscript anlegen und einfügen (Ressource-Manager, neues Script erstellen) 2. Oben im Script-Editor auf "Python" umstellen 3. Deine Bilder Kopieren (Backup erstellen davon) in einen Ordner kopieren 4. Achtung, Achtung, Achtung nicht einfach ausführen, zuerst alles lesen bis ganz unten! 5. Script ausführen und den Ordner mit den Bildern Doppelklicken 6. Menü Datei-Import- Import Arroway-Material Was tut das Script: Du kannst Damit einen Ordner auf Deiner Platte auswählen (unbedingt doppelklicken auf den Ordner und nicht einfach nur markieren sonst konvertiert man den übergeordneten Ordner). Das Script wandelt Dir alle Bilddateien so um, dass Du diese anschliessend mit dem Import Arroway-Material importieren kannst. Ich habe das Script mal für den eigenen Gebraucht gemacht. Es enthält keinerlei Sicherheitsmassnamen Wenn Du deine ganze MacintoshHD oder Deine Festplatte C damit bearbeitest, dann gute Nacht und es gibt dafür kein Rückgängig befehl Also wie immer: Keine Verantwortung für Fehlbedienungen oder Fehler dieses Scripts Grüsse Dominique Corpataux
  9. Dominique Corpataux

    wms Import

    Hallo Seit der Umstellung des US-Forums, sind leider nicht mehr alle Datei-Anhänge vorhanden. Das Beispiel mit Google-Maps, kann in folgendem Thread heruntergeladen werden. https://forum.vectorworks.net/index.php?/topic/43231-marionette-monday-webinar-questions/ Webinar_IV_Files.vwx auf der Ebene Import URL Image. Gruss Dominique
  10. Hallo Zwischenablage geht auf Mac und Windows. Im Angefügten Vectorworks Dokument, hat es ein angepasstes Cross-Platform-Script für Mac und Windows. Dieses schaut zuerst auf welchem Rechner es läuft und führt dann den korrekten Code aus. Gruss Dominique
  11. Hallo Du könntest das beiliegende Script benutzen. Script über Zubehörpalette erstellen, Python script auswählen, untenstehenden Code einfügen. Auf die schnelle rauskopiert aus dem Marionette Content. Zwischenablage funktioniert nur für Mac. Müsste für Windows noch angepasst werden. # Python Script import math def Magnitude(vec): x = vec[0] y = vec[1] z = vec[2] return math.sqrt( x*x + y*y + z*z ) def DistanceTo(pt1, pt2): return Magnitude((pt1[0] - pt2[0], pt1[1] - pt2[1], pt1[2] - pt2[2])) def GetPerim(poly): result = 0 len = vs.GetVertNum(poly) for i in range(1, len): temp = vs.GetPolyPt3D(poly, i) result += DistanceTo( temp, vs.GetPolyPt3D(poly, i - 1) ) if ( len > 1 and vs.IsPolyClosed(poly) ): result += DistanceTo( vs.GetPolyPt3D(poly, 0), vs.GetPolyPt3D(poly, len - 1) ) return result poly = vs.FSActLayer() per = GetPerim(poly) vs.Message('gemessene Länge : '+str(per)) import subprocess def write_to_clipboard(output): process = subprocess.Popen( 'pbcopy', env={'LANG': 'en_US.UTF-8'}, stdin=subprocess.PIPE) process.communicate(output.encode('utf-8')) write_to_clipboard(str(per)) Sorry, noch die Anleitung: 1. 3D Polygon zwischen den zwei Punkten zeichnen (Erster Punkt Klick, Zweiter Punkt Doppelklick) 2. Script Doppelklicken Kleines Movie im Anhang Vectorworks Datei angehängt mit einem Script, welches gleichermassen für Mac und Windows funktioniert. Distanz 3D.mp4.zip Messen in Zwischenablage.vwx.zip
  12. Hallo Hirnholz Die häufigsten, mir bekannten Problem sind: 1. Nicht mit einem Lokalen Admin eingeloggt. 2. Zu wenig Festplattenspeicher. Vor allem bei SSDs kann es schon vorkommen, dass die Platte voll ist. Vielleicht auch irgendwelche Pfad Probleme, zu den Temporären Dateien ... Gruss Dominique
  13. Hm, schwierig zu sagen, woran es liegen kann. Der Installer scheint jedenfalls aufgrund eines unvorhergesehen Problems abzubrechen. Erfahrungsgemäss, liegt es oft an folgenden Dingen: 1. Vectorworks 2016 auf 32 Bit System 2. Zu wenig Festplattenspeicher ? (Hier kommt normalerweise aber eine andere Fehlermeldung) 3. Heruntergeladenes Zip (interiorcad) nicht entpackt und die exe direkt aus dem Zip gestartet (Hier kommt normalerweise ebenfalls eine andere Fehlermeldung) 4. Probleme mit dem Temporären Ordner. Mal prüfen unter System-> Einstellungen ändern-> Erweitert -> Umgebungsvariablen. Dort sollte drinstehen %USERPROFILE%\AppData\Local\Temp Wenn vielleicht da der Pfad verändert wurde, hat der Installer ein Problem mit den Berechtigungen etc. Gruss Dominique
  14. Hallo Marc Das sieht danach aus, als würden deine Objekte zu weit vom Internen Vectorwors Nullpunkt entfernt liegen. Oder Deine Renderansicht beinhaltet Objekte, welche extrem gross sind. 1. Testeshalber, kopiere man Deine Objekte in ein neues File (Nicht mit Befehl+A, sondern markieren) und schauen, ob es da besser aussieht. Falls ja, dann ist es eines der oben beschriebenen Probleme. 2. Objekte zum Nullpunkt schieben: - Blatt auf "ursprüngliche Position" (dort befindet sich nämlich der Zechnungsmittelpunkt (Vectorworks Nullpunkt)). Geht mit Doppelklick, auf Blattverschieben-Werkzeug. Zeichnung ausschneiden. Auf Blatt zoomen und wieder einfügen. Vectorworks Nullpunktmarkierung, lässt sich auch im Menü Extras-Nullpunkt einblenden. 3. Man kann das auch automatisiert korrigieren lassen (inkl. Ansichtsbereichen, Benutzernullpunkt u.s.w.) im Menü Extras "Nullpunkte"->"Zeichnung zum Vectorworsk Nullpunkt verschieben" Kann natürlich aber auch was anderes sein. Dafür spricht, dass es scheinbar erst seit dem Update so ist. 4. Dann mal versuchen, ein anderes (oder kein) Material zu verwenden (falls es dann gut ausschaut, liegt es am Material) Gruss
  15. Hallo Man kann einen Ordner (Unterordner, werden eingeschlossen) auswählen, welcher natürlich VW Dateien enthalten sollte. Es werden aber nur Vectorworks Dateien gelistet, welche mindestens eine gespeicherte Dartellung und/oder Layout beinhalten. Weil nur damit kann sinnvoll angegeben werden, welche Sichtbarkeitskonstellation(en) Publiziert werden sollen. Gruss Dominique
×
×
  • Neu erstellen...