Aktuelle Zeit: 8. Aug 2020, 22:34
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: For Next schlaufe fehler?
BeitragVerfasst: 26. Sep 2018, 08:51 
Offline
Mitglied

Registriert: 20. Sep 2018, 13:21
Beiträge: 31
Land: CH
Betriebsystem: Windows 10
Hallo miteinander.
Ich bin neu hier und noch nicht so lange mit ArchiCAD vertraut. Ich versuche verschiedene Element zu automatisieren mit GDL.
Vorab... meine Muttersprache ist Englisch, also bitte um etwas geduld mit meiner Deutsche Gramatik :)

Meine Problem:
Ich habe erfolgreich einen Bodenelement erstellt mit Schlitzlöcher und möchte es mit einen For Next Schlaufe kopieren. Das Erste Element der Schlaufe erscheint tadellos. Jeder andere Element hat irgend einen fehler (die anscheinend von den Schlitzlocher verursacht ist) darin, das ich nach viele stunden forschung nicht heraus finden kann warum.

Wenn ich die im Schlaufe berechnete Schlitzlöcher Koordinaten mit Print herausgeben, und die zahlen koordinaten direkt im cprism funktion reingeben funktionieren alle Elemente richtig.

Anbei sende ich die zwei objekte, einmal mit reinen zahlen das funktioniert, einmal mit der schlaufe funktion die der Fehler irgendwo darin steckt.

Ich war sehr sehr glücklich wenn jemand dabei helfen könnte.

Vielen Dank für jeder hinweis

Schlaufe Code: (Funktioniert nicht richtig)
Code:
FOR z=1 TO 5
   ADDy z*0.5
   !rotz 90
   Print "SF ",z,"--------------------\n"
   GOSUB "Slatted Floor"
   DEL 1
NEXT z

END


"Slatted Floor":

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Initialise !!!!!!!!!!!!!!!!!!!!!!!!!!!!

TopThickness=SF_Height*0.45
SolidX=0.125
StepY=0
XPOS=0
Y1=0
Y2=0
X1=0
X2=0
X3=0
X4=0
ab=0
i=0
YMID=0

SF_Width=0.465      !!Width of Element
NumLength=2.5      !!Length of Element
SW=0.035         !!SlitWidth
FirstY=0.11         !!Middle point (Y) of first Slit
StepY=0.125         !!Distance Between Slits

Nr_SlitColumns=INT(NumLength/0.75)                                 !!Get Nr. of Columns
SlitColumnLength= (NumLength-((Nr_SlitColumns+1)*SolidX))/Nr_SlitColumns   !! Calculate Slit Length   
SlitColumnLength= ROUND_INT(SlitColumnLength*100)/100                  !! Round Value
Nr_SlitRows=SF_Width/(ROUND_INT((FirstY+StepY*100))/100)               !!Get Nr. of Rows

YMID = FirstY                                                !! Middle point of first Slit

!!!Calculate Parameters for Slits

   For ab = 1 to 2
      XPOS=SolidX                                             !!X Startpoint
      Y1 = YMID-SW/2                                          
      Y2 = YMID+SW/2
      For i = 1 to Nr_SlitColumns
         X1 = XPOS
         X2 = XPOS+SlitColumnLength
         X3 = XPOS+SlitColumnLength
         X4 = XPOS
   
         PUT X1, Y1, 0, 15, SF_SurfaceMaterial
         PUT X2, Y1, 0, 15, SF_SurfaceMaterial
         PUT X3, Y2, 0, 15, SF_SurfaceMaterial
         PUT X4, Y2, 0, 15, SF_SurfaceMaterial
         PUT X1, Y1, 0, -1, SF_SurfaceMaterial

         HOTSPOT X1, Y1, 0
         HOTSPOT X2, Y1, 0
         HOTSPOT X3, Y2, 0
         HOTSPOT X4, Y2, 0
      
!         HOTSPOT 0,Y1,0
!         HOTSPOT 0,YMID,0
!         HOTSPOT 0,Y2,0
         XPOS = X2+SolidX
         Print "Row ",ab," , Column ",i," :\n",X1, Y1," : ",X2, Y1," : ",X3, Y2," : ",X4, Y2," : ",X1, Y1, "\n ----------\n"
      next i
      YMID=YMID+StepY
      HOTSPOT 0,YMID,0
   next ab
   
   
    addz    -TopThickness
    pen     SF_OutlinePen
   
   !!!!MainSlab

    set building_material SF_BuildingMaterial, DEFAULT, DEFAULT
    sect_attrs{2} SF_SectionPen, SF_LineType
    cprism_{4} SF_SurfaceMaterial, SF_SurfaceMaterial, SF_SurfaceMaterial,7,
       5+(NSP/5), TopThickness,
      0, 0, 0, 15, SF_SurfaceMaterial,
      NumLength, 0, 0,15, SF_SurfaceMaterial,
      NumLength, SF_Width, 0, 15, SF_SurfaceMaterial,
      0, SF_Width, 0, 15, SF_SurfaceMaterial,
      0, 0, 0,  -1, SF_SurfaceMaterial,
      USE(NSP)


DEL 1
RETURN




Code mit Zahlen: (Funktioniert)
Code:
FOR z=1 TO 5
   ADDy z*0.5
   !rotz 90
   Print "SF ",z,"--------------------\n"
   GOSUB "Slatted Floor"
   DEL 1
NEXT z

END


"Slatted Floor":

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Initialise !!!!!!!!!!!!!!!!!!!!!!!!!!!!

TopThickness=SF_Height*0.45
SolidX=0.125
StepY=0
XPOS=0
Y1=0
Y2=0
X1=0
X2=0
X3=0
X4=0
ab=0
i=0
YMID=0

SF_Width=0.465      !!Width of Element
NumLength=2.5      !!Length of Element
SW=0.035         !!SlitWidth
FirstY=0.11         !!Middle point (Y) of first Slit
StepY=0.125         !!Distance Between Slits

Nr_SlitColumns=INT(NumLength/0.75)                                 !!Get Nr. of Columns
SlitColumnLength= (NumLength-((Nr_SlitColumns+1)*SolidX))/Nr_SlitColumns   !! Calculate Slit Length   
SlitColumnLength= ROUND_INT(SlitColumnLength*100)/100                  !! Round Value
Nr_SlitRows=SF_Width/(ROUND_INT((FirstY+StepY*100))/100)               !!Get Nr. of Rows

YMID = FirstY                                                !! Middle point of first Slit


   
   
    addz    -TopThickness
    pen     SF_OutlinePen
   
   !!!!MainSlab

    set building_material SF_BuildingMaterial, DEFAULT, DEFAULT
    sect_attrs{2} SF_SectionPen, SF_LineType
    cprism_{4} SF_SurfaceMaterial, SF_SurfaceMaterial, SF_SurfaceMaterial,7,
       50, TopThickness,
      0, 0, 0, 15, SF_SurfaceMaterial,
      NumLength, 0, 0,15, SF_SurfaceMaterial,
      NumLength, SF_Width, 0, 15, SF_SurfaceMaterial,
      0, SF_Width, 0, 15, SF_SurfaceMaterial,
      0, 0, 0,  -1, SF_SurfaceMaterial,

      !!Row 1 Column 1:
      0.125 , 0.0925 , 0, 15, SF_SurfaceMaterial,
      0.791667 , 0.0925  , 0, 15, SF_SurfaceMaterial,
      0.791667 , 0.1275  , 0, 15, SF_SurfaceMaterial,
      0.125 , 0.1275  , 0, 15, SF_SurfaceMaterial,
      0.125 , 0.0925 , 0, -1, SF_SurfaceMaterial,
      
      
      !!Row  1  , Column  2  :
      0.916667 , 0.0925  , 0, 15, SF_SurfaceMaterial,
      1.58333  ,0.0925  , 0, 15, SF_SurfaceMaterial,
      1.58333 , 0.1275  , 0, 15, SF_SurfaceMaterial,
      0.916667 , 0.1275  , 0, 15, SF_SurfaceMaterial,
      0.916667,  0.0925 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  1  , Column  3  :
      1.70833,  0.0925 , 0, 15, SF_SurfaceMaterial,
      2.375 , 0.0925, 0, 15, SF_SurfaceMaterial,
      2.375 , 0.1275, 0, 15, SF_SurfaceMaterial,
      1.70833 , 0.1275, 0, 15, SF_SurfaceMaterial,
      1.70833,  0.0925 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  2  , Column  1  :
      0.125 , 0.2175, 0, 15, SF_SurfaceMaterial,
      0.791667 , 0.2175, 0, 15, SF_SurfaceMaterial,
      0.791667,  0.2525, 0, 15, SF_SurfaceMaterial,
      0.125  ,0.2525, 0, 15, SF_SurfaceMaterial,
      0.125  ,0.2175 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  2  , Column  2  :
       0.916667 , 0.2175, 0, 15, SF_SurfaceMaterial,
      1.58333  ,0.2175, 0, 15, SF_SurfaceMaterial,
      1.58333  ,0.2525, 0, 15, SF_SurfaceMaterial,
      0.916667  ,0.2525, 0, 15, SF_SurfaceMaterial,
      0.916667 , 0.2175 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  2  , Column  3  :
      1.70833 , 0.2175, 0, 15, SF_SurfaceMaterial,
      2.375  ,0.2175, 0, 15, SF_SurfaceMaterial,
      2.375  ,0.2525, 0, 15, SF_SurfaceMaterial,
      1.70833  ,0.2525, 0, 15, SF_SurfaceMaterial,
      1.70833 , 0.2175 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  3  , Column  1  :
      0.125  ,0.3425, 0, 15, SF_SurfaceMaterial,
      0.791667 , 0.3425, 0, 15, SF_SurfaceMaterial,
      0.791667,  0.3775, 0, 15, SF_SurfaceMaterial,
      0.125 , 0.3775, 0, 15, SF_SurfaceMaterial,
      0.125,  0.3425 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  3  , Column  2  :
      0.916667  ,0.3425, 0, 15, SF_SurfaceMaterial,
      1.58333  ,0.3425, 0, 15, SF_SurfaceMaterial,
      1.58333 , 0.3775, 0, 15, SF_SurfaceMaterial,
      0.916667 , 0.3775, 0, 15, SF_SurfaceMaterial,
      0.916667,  0.3425 , 0, -1, SF_SurfaceMaterial,
      
      !!Row  3  , Column  3  :
      1.70833,  0.3425, 0, 15, SF_SurfaceMaterial,
      2.375 , 0.3425, 0, 15, SF_SurfaceMaterial,
      2.375  ,0.3775, 0, 15, SF_SurfaceMaterial,
      1.70833 , 0.3775, 0, 15, SF_SurfaceMaterial,
      1.70833 , 0.3425 , 0, -1, SF_SurfaceMaterial


DEL 1
RETURN


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: For Next schlaufe fehler?
BeitragVerfasst: 26. Sep 2018, 09:24 
Offline
Forum Veteran
Benutzeravatar

Registriert: 2. Jun 2004, 01:01
Beiträge: 2300
Wohnort: Hamburg
Wieso verwendest du USE(NSP) und nicht GET(nsp)?

Ich habs mir nicht genau angesehen, aber ich glaube, da könnte das Problem liegen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: For Next schlaufe fehler?
BeitragVerfasst: 26. Sep 2018, 09:56 
Offline
Mitglied

Registriert: 20. Sep 2018, 13:21
Beiträge: 31
Land: CH
Betriebsystem: Windows 10
aaaaahhhhhh
Danke viel mal!
Soviel Zeit für so ein kleine Fehler!

Ich habe USE benutzt weil ich die unterscheid nicht richtig verstanden habe (Irgendwo ein ähnliches beispiel im netz gefunden)

....Anfanger fehler halt.

Vielen Dank für die Schnelle Antwort!
LG
Brent


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: For Next schlaufe fehler?
BeitragVerfasst: 26. Sep 2018, 10:55 
Offline
Forum Veteran
Benutzeravatar

Registriert: 2. Jun 2004, 01:01
Beiträge: 2300
Wohnort: Hamburg
selfGDL


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu: