Array 3D Fehler

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
wafi
Posts: 77
Joined: Sat Oct 15, 2016 8:45 am

Array 3D Fehler

Postby wafi » Fri Sep 27, 2019 4:35 am

Moin

mein kleines Problem ist, dass ich in einem Script Draft.Arrays kreieren will.
Mache ich es so:

Code: Select all

xvector = FreeCAD.Vector(xv, 0, 0)
            yvector = FreeCAD.Vector(0, yv, 0)
            zvector = FreeCAD.Vector(0, 0, zv)
            Array = Draft.makeArray(App.ActiveDocument.ActiveObject, xvector, yvector, l, k)
klappt alles, nur das Problem ist, ich bekomme kein Array in z-Richtung.
Füge ich den Z-Vektor ein:

Code: Select all

   xvector = FreeCAD.Vector(xv, 0, 0)
            yvector = FreeCAD.Vector(0, yv, 0)
            zvector = FreeCAD.Vector(0, 0, zv)

            Array = Draft.makeArray(App.ActiveDocument.ActiveObject, xvector, yvector, zvector, l, k, st)
bekomme ich folgende Fehlermeldung (st = stacked und natürlich definiert):
Array = Draft.makeArray(App.ActiveDocument.ActiveObject, xvector, yvector, zvector, l, k, st)
TypeError: makeArray() takes at most 6 arguments (7 given)



Jemand ne Idee?

System derzeit
OS: Windows 7
Word size of OS: 32-bit
Word size of FreeCAD: 32-bit
Version: 0.17.13528 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 5c3f7bf8ec51e2c7187789f7edba71a7aa82a88b
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)
chrisb
Posts: 19512
Joined: Tue Mar 17, 2015 9:14 am

Re: Array 3D Fehler

Postby chrisb » Fri Sep 27, 2019 5:45 am

Welches sind denn die Werte der Variablen?
User avatar
microelly2
Posts: 4440
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Array 3D Fehler

Postby microelly2 » Fri Sep 27, 2019 6:04 am

Die makeArray Funktion unterstützt nicht sofort die dritte Dimesion.
Du kannst nachträglich die Eigenschaften des erzeugten Objekts ändern.

Array = Draft.makeArray(App.ActiveDocument.ActiveObject, xvector, yvector, l, k)
Array.IntervalZ = (0, 0, -5)
chrisb
Posts: 19512
Joined: Tue Mar 17, 2015 9:14 am

Re: Array 3D Fehler

Postby chrisb » Fri Sep 27, 2019 6:11 am

Dieses funktioniert:
- FreeCAD starten
- Part->Standardcube erzeugen
- cube selektieren
folgenden Code ausführen:

Code: Select all

import Draft
l  = 1
k  = 2
st = 3
xvector = FreeCAD.Vector(10, 0, 0)
yvector = FreeCAD.Vector(0, 20, 0)
zvector = FreeCAD.Vector(0, 0, 30)
Array = Draft.makeArray(App.ActiveDocument.ActiveObject, xvector, yvector, zvector, l, k, st)
liefert
Bildschirmfoto 2019-09-27 um 08.09.00.png
Bildschirmfoto 2019-09-27 um 08.09.00.png (11.86 KiB) Viewed 148 times
OS: macOS High Sierra (10.13)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18260 (Git)
Build type: Release
Branch: master
Hash: dbf0644b60c35273525985fa13859ad39b0c10df
Python version: 3.7.3
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Germany (en_DE)
wafi
Posts: 77
Joined: Sat Oct 15, 2016 8:45 am

Re: Array 3D Fehler

Postby wafi » Fri Sep 27, 2019 7:03 am

moin

vielen Dank.
microelly`s Ansatz funktioniert, muß noch über Array.NumberZ = st erweitert werden.

Die Version von Chris klappt zumindest in Version 17 nicht, werde das mal mit der 19 Version ausprobieren.

Gruß
Peter
chrisb
Posts: 19512
Joined: Tue Mar 17, 2015 9:14 am

Re: Array 3D Fehler

Postby chrisb » Fri Sep 27, 2019 7:48 am

0.17 ist ja nun doch schon recht alt.

Die Doku sagt zur aktuellen Version in der Python-Console:
Attachments
Bildschirmfoto 2019-09-27 um 07.36.44.png
Bildschirmfoto 2019-09-27 um 07.36.44.png (36.33 KiB) Viewed 127 times