abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Freie Fensterform

Hmooslechner
Rockstar
Hatte gerade eine Erkenntnis: Man könnte doch ein Profilmanager-Profil für eine Wallhole heranziehen und es so dem Normal-Anwender sehr einfach ermöglichen, sein Loch in der Wand selber zu zeichnen:

Eine erste Umsetzung in AC24EduAut:
https://www.dropbox.com/s/idyqggt95nctssi/Fenstertest24_1.pln?dl=0

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
15 ANTWORTEN 15
Hmooslechner
Rockstar
Hier mal genauer erklärt:

https://www.youtube.com/watch?v=G-AkcqgS7Lk





der Dropbox-Link oben ist noch aktuell.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Rockstar
Rahmen rein:

Mit dem Tube-command gehts zumindest nicht direkt, wenn Rundungen drin sind. Der Pfad einer Tube erlaubt keine Rundungen. Man müsste Zwischenpunkte errechnen. Ist mir derzeit zuviel Aufwand.

Was möglicherweise gehen würde wäre ein extrudedShell.. zumindest für ein rechteckiges Rahmenprofil.
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
sehr hübsch!

Ich bin bei etwas ähnlichem daran gescheitert dies als Abwicklung in eine Gebogene Wand zu bekommen.......das geht dann nur noch mit dem wallnishe Befehl...aber ist ist sehr komplex...hast du das mal probiert?

Grüße, Lukas
Mac OSX - up to date

GER Archicad Full, Up to date
Hallo Heimo,
danke nochmal für diesen Beitrag!
Ich habe dein 3D Script leicht modifiziert und schaffe nun darüber eine Abwicklung der Profile in gebogenen Wänden darzustellen. Dies geht leider nicht mit dem WALLHOLE Befehl sondern nur mit WALLNICHE (Warum auch immer) den WALLNICHE muss man allerdings einmal spiegeln um das gewünschte Ergebnis zu erhalten. Unten das 3D Script...

Hier eine Frage: ist es möglich die Profilgröße abzufragen? also "Nominale Höhe und - Breite"?
ich würde gerne die Werte A und B auf die des Profils setzen um es besser fangen zu können.

Besten Dank

!3D Script




RESOL 150

if n then
for _iComp = 1 to _nComponents

if _bShowPart[_iComp] then
dim _currSurfaces[]
n = REQUEST{3} ("Profile_component_info", myProfileIdx, _iComp, "gs_profile_comp_surfaces", _currSurfaces)

_bmat = 1
_surface = 1
_pen = 1
n = REQUEST{3} ("Profile_component_info", myProfileIdx, _iComp, "gs_profile_bmat", _bmat)
n = REQUEST{3} ("Profile_component_info", myProfileIdx, _iComp, "gs_profile_surface", _surface)
n = REQUEST{3} ("Profile_component_info", myProfileIdx, _iComp, "gs_profile_outlinepen", _pen)

building_material _bmat
pen _pen


IF WIDO_ORIG_DIST=0 then

! Wallhole
_surfIdx = 1
for _i = _contStartPoints[_iComp] to _contEndPoints[_iComp] step 5

put _profileGeometryRawData[_i],
_profileGeometryRawData[_i + 1],
_profileGeometryRawData[_i + 2] * 15 + not(_profileGeometryRawData[_i + 3]) * 64 + _profileGeometryRawData[_i + 4]


_surfIdx = _surfIdx + 1
next _i


Wallhole NSP/3, 1,
get(NSP)


ELSE


WN_Abstand= WIDO_ORIG_DIST

For ii = 1 to 2



! Wallhole
_surfIdx = 1
for _i = _contStartPoints[_iComp] to _contEndPoints[_iComp] step 5

put _profileGeometryRawData[_i],
_profileGeometryRawData[_i + 1],
_profileGeometryRawData[_i + 2] * 15 + not(_profileGeometryRawData[_i + 3]) * 64 + _profileGeometryRawData[_i + 4]


_surfIdx = _surfIdx + 1
next _i


WALLNICHE NSP/3,
3, ! methode=1: prismenförmig, methode=2: pyramidenförmig, methode=3: keilförmig
2, ! status
0,0, WIDO_ORIG_DIST, !richtungX, richtungY, richtungZ,
WN_Abstand, !Abstand
get(NSP)

WN_Abstand=-WIDO_ORIG_DIST

next ii
Endif

endif
next _iComp
endif
Mac OSX - up to date

GER Archicad Full, Up to date
Hmooslechner
Rockstar
Ausmaß solltest Du in der Masterscript finden - muss selber mal nachschauen.


TYPE_TUBE = 1
TYPE_CPRISM = 2

COMPTYPE_CORE = 0
COMPTYPE_FINISH = 1
COMPTYPE_OTHER = 2


if GLOB_SCRIPT_TYPE = 2 or GLOB_SCRIPT_TYPE = 3 then
_nComponents = 0
dim _componentTypes[]

n = REQUEST{2} ("Profile_components", myProfileIdx, _nComponents, _componentTypes)

n2 = REQUEST ("Profile_default_boundingbox", myProfileIdx, _xmin, _ymin, _xmax, _ymax)


if n then
dim _bShowPart[]
_needRequestDetails = 0

for _i = 1 to _nComponents
_bShowPart[_i] = 1
if GLOB_STRUCTURE_DISPLAY = 1 AND _componentTypes[_i] <> COMPTYPE_CORE then _bShowPart[_i] = 0 ! GLOB_STRUCTURE_DISPLAY: 0 – entire structure, 1 – core only, 2 – without finishes
if GLOB_STRUCTURE_DISPLAY = 2 AND _componentTypes[_i] = COMPTYPE_FINISH then _bShowPart[_i] = 0
if _bShowPart[_i] then _needRequestDetails = 1
next _i

if _needRequestDetails then
dim _profileGeometryRawData[]
n = REQUEST ("Profile_default_geometry", myProfileIdx, _profileGeometryRawData) ! n1, n2, ..., nn, x11, y11,s11

dim _contStartPoints[]
dim _contEndPoints[]
_contStartPoints[1] = _nComponents + 1
for _i = 2 to _nComponents
_contStartPoints[_i] = _contStartPoints[_i - 1] + _profileGeometryRawData[_i - 1] * 5
_contEndPoints[_i-1] = _contStartPoints[_i] - 1
next _i
_contEndPoints[_nComponents] = vardim1(_profileGeometryRawData)
endif
endif
endif


Die Zeile mit n2
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
   n2 = REQUEST ("Profile_default_boundingbox",  myProfileIdx, _xmin, _ymin, _xmax, _ymax)


habe ich gefunden...aber die Werte lassen sich maximal als text im 2D darstellen aber nicht mit parameters an A und B übergeben

parameters A = xmax-xmin

parameters B= ymax-ymin


geht leider nicht...nicht im Master-, nicht im Parameterscript 😞
Mac OSX - up to date

GER Archicad Full, Up to date
runxel
Legend
Leider korrekt.
Die Profil-Boundingbox lässt sich nicht verwenden, um damit die Größe zurückzuspielen ins Objekt....
Weiß nicht genau warum, aber ist auf jeden Fall schade.
Lucas Becker | AC 27 on Mac | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

«Furthermore, I consider that Carth... yearly releases must be destroyed»
sowas versteh ich einfach nicht...ich kann den Wert ja als text schreiben...warum nicht verarbeiten!?
Mac OSX - up to date

GER Archicad Full, Up to date
xandros1
Newcomer
   n2 = REQUEST ("Profile_default_boundingbox",  myProfileIdx, _xmin, _ymin, _xmax, _ymax)


habe ich gefunden...aber die Werte lassen sich maximal als text im 2D darstellen aber nicht mit parameters an A und B übergeben

parameters A = xmax-xmin

parameters B= ymax-ymin


geht leider nicht...nicht im Master-, nicht im Parameterscript 😞


ohne mich mit dem Thema gut auszukennen bzw. im Besitz des Scripts zu sein; ist hier nicht ein Fehler eingeschlichen und sollte so aussehen?
parameters A = _xmax-_xmin

parameters B= _ymax-_ymin
AC 25 / 26, Voll, D / Intel i9-9900K, 64 GB RAM, nVidia GeForce RTX 2080 Ti, Win 10 x64

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen