Forum Sketchup Artlantis Archicad
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Annonces
Bonjour Invité Bienvenue sur le forum biblio3d - le forum a été créé le Sam 19 Jan 2008 - 14:26- Nous avons enregistrés 14834 topics pour un total de : 175872 posts - le record de membres connectés simultanément :853
Galerie


GDL : conflit Xrotang / stStyle Empty
Ton bloc notes
Derniers sujets
» [ SKETCHUP généralité ] Tête de pilastre
par jerryvento Aujourd'hui à 8:52

» [ CHALLENGE 2024 ] résultats du challenge
par Allansens Aujourd'hui à 8:42

» [ ARCHICAD ] Paramétrage des coupes sur Archicad
par AK40Cess Hier à 14:12

» [ FORUM ] astuce pour insérer facilement un tableau sur le forum
par tenrev Mer 20 Nov 2024 - 9:12

» [ SKETCHUP plugins ] une barre d’outils perso
par tenrev Lun 18 Nov 2024 - 15:05

» [ SKETCHUP généralité ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:47

» [ SKETCHUP généralité ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:47

» [ SKETCHUP généralité ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:46

» [ SKETCHUP tutos ] Orienter 1 Face, 1 Profil Normal (Perpendiculaire) à 1 Arête, 1 Trajectoire
par jerryvento Lun 18 Nov 2024 - 14:45

» [ SKETCHUP tutos ] Modéliser facilement 1 spirale en moins de 40 secondes
par jerryvento Lun 18 Nov 2024 - 14:44

» [ SKETCHUP tutos ] Modélise 1 Forme Hélicoïdale, en forme de spirale : main courante, rampe d'accès voitures...
par jerryvento Lun 18 Nov 2024 - 14:43

» ColorMaker par Didier Bur[ SKETCHUP plugins ]
par JDD Dim 17 Nov 2024 - 20:56

» [ ARCHICAD ] Plus de format *atl dans Archicad
par Coulou Jeu 14 Nov 2024 - 8:26

» [ SKETCHUP tutos ] Créer des Bibliothèques et des livres aléatoires Facilement (2 Méthodes!)
par tenrev Mar 12 Nov 2024 - 11:31

» [ CHALLENGE 2024 ] les images finales du challenge
par tenrev Lun 11 Nov 2024 - 15:35

» [ SKETCHUP composants dynamiques ] Formule IF
par Samuel MATHIEU Jeu 7 Nov 2024 - 21:12

» [ Challenge 2024] cHallenge archjtexture exterieur ou paysagiste-vick-sketchup-enscape
par vick Jeu 7 Nov 2024 - 10:23

» [ SKETCHUP vray ]
par tenrev Mar 5 Nov 2024 - 21:19

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste- Gaspard Hauser - Sketchup - D5 render
par tenrev Mar 5 Nov 2024 - 10:22

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - JDD - SketchUp - Enscape
par tenrev Mar 5 Nov 2024 - 10:10

» [ ARCHICAD ] Murs paramétriques
par Coulou Lun 28 Oct 2024 - 10:28

» [ SKETCHUP généralité ] Aide pour SKP 2017
par PEGASE Sam 26 Oct 2024 - 18:36

» [ ARCHICAD ] Ajouter du lambris sur un mur
par Coulou Jeu 24 Oct 2024 - 10:43

» [ SKETCHUP généralité ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:13

» [ SKETCHUP tutos ] 1 Citrouille à imprimer pour Halloween
par jerryvento Jeu 24 Oct 2024 - 8:11

» [ D5_RENDER] Petit exemple "hors sujet" ... D5
par Gaspard Hauser Mar 22 Oct 2024 - 19:59

» [ MATOS INFORM. ] [WINDOWS] Miniatures de prévisualisation pour les fichiers de modèle 3D au format .OBJ, .FBX, .STL, .3DS et +
par Gaspard Hauser Mar 22 Oct 2024 - 19:49

» [ SKETCHUP Layout ] Symboles Électriques sur Layout
par JDD Jeu 17 Oct 2024 - 9:44

» [ ARCHICAD ] gardes corps et profils complexe ?
par Christophe Fortineau Lun 14 Oct 2024 - 12:10

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - allansens - cinema 4D
par Allansens Sam 12 Oct 2024 - 13:53

» [ ARTLANTIS ] Ca donne envie !
par Gaspard Hauser Jeu 10 Oct 2024 - 10:00

» [ TWINMOTION ] Unreal Engine déménage sur Fab - DataSmith & Archicad
par Coulou Jeu 10 Oct 2024 - 9:03

» [ CHALLENGE 2024 ] Challenge architecture extérieure ou paysagiste - AK40Cess - Archicad-Twinmotion
par Coulou Mar 8 Oct 2024 - 11:53

» [ TWINMOTION ] Unreal Engine déménage sur Fab - Assets de Megascan
par JDD Lun 7 Oct 2024 - 21:52

» [ CHALLENGE ARCHITECTURE EXTERIEURE OU PAYSAGISTE ] Démarrage du challenge 2024 - les régles
par tenrev Jeu 3 Oct 2024 - 14:58

Sondage

êtes vous intéressé et prêt à participer à un challenge ?

GDL : conflit Xrotang / stStyle Poll_c1015%GDL : conflit Xrotang / stStyle Poll_c10 15% [ 2 ]
GDL : conflit Xrotang / stStyle Poll_c1031%GDL : conflit Xrotang / stStyle Poll_c10 31% [ 4 ]
GDL : conflit Xrotang / stStyle Poll_c1046%GDL : conflit Xrotang / stStyle Poll_c10 46% [ 6 ]
GDL : conflit Xrotang / stStyle Poll_c108%GDL : conflit Xrotang / stStyle Poll_c10 8% [ 1 ]
GDL : conflit Xrotang / stStyle Poll_c100%GDL : conflit Xrotang / stStyle Poll_c10 0% [ 0 ]
GDL : conflit Xrotang / stStyle Poll_c100%GDL : conflit Xrotang / stStyle Poll_c10 0% [ 0 ]

Total des votes : 13

chaine sketchup.tv
Serveur Discord
Le Deal du moment : -17%
SSD interne Crucial SSD P3 1To NVME à ...
Voir le deal
49.99 €

GDL : conflit Xrotang / stStyle

Voir le sujet précédent Voir le sujet suivant Aller en bas

Farkas
Farkas
Administrateurs
Administrateurs
Masculin Humeur : C'est bon le sirop d'érable
Date d'inscription : 29/11/2012
Nombre de messages : 4422
Points : 8672
Age : 38
Localisation : Canada
Emploi : Architecte

MessageFarkas Jeu 14 Avr 2016 - 10:45

Bonjour

J'ai édité l'objet grille de la bib standard pour en faire un caillebotti, aquel je souhaiterais ajouter les paramètres Xrotang, Yrotang. Le truc c'est que le script ne fonctionne pas. J'ai beau introduire des valeurs non nulles, ça ne change l'inclinaison de l'objet en 3D.

GDL : conflit Xrotang / stStyle A

Je soupçonne un conflit avec la variable stStyle... Je souhaiterais supprimer les lignes de code qui y sont liées. Quelqu'un pourrait-il me dire quelles lignes il faut supprimer ?

GDL : conflit Xrotang / stStyle B

Script 3D :
Code:
RotX Xrotang
RotY Yrotang
RotZ Zrotang

DEL 3

gs_fill_type = gs_fill_type * gs_bFills
gs_fill_pen = gs_fill_pen * gs_bFills
gs_back_pen = gs_back_pen * gs_bFills

gs_fillGlass = gs_fillGlass * gs_bFills
gs_penGlass_fg = gs_penGlass_fg * gs_bFills
gs_penGlass_bg = gs_penGlass_bg * gs_bFills

gs_fillSdl = gs_fillSdl * gs_bFills
gs_penSdl_fg = gs_penSdl_fg * gs_bFills
gs_penSdl_bg = gs_penSdl_bg * gs_bFills

if gs_detlevel_3D_m = 0 then end
if not(gs_shadow) then shadow off

unID = 1
pen gs_cont_pen
gosub iStyle

end



! =============================================================================
! SUBRUTINES
!
! =============================================================================

! -----------------------------------------------------------------------------
! Vertical
! -----------------------------------------------------------------------------
2:
 material gs_frame_mat
 sect_fill gs_fill_type, gs_back_pen, gs_fill_pen, gs_cont_pen

 rotx 90
 addz -B
 gosub 200

 if  u <= 0 or w <= 0 then
 addz yCoordEdges[1]
 prism_ 5, -yCoordEdges[1] + yCoordEdges[2],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, -1

 del 1
 end
 endif



 gs_SashText_typ = `Type 1`

 put xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

 if iNumFramesB > 2 then
 for kj = 2 to iNumFramesB-1
 put xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
 next kj
 endif

 put xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

 if iNumFramesB > 2 then
 for kj = 2 to iNumFramesB-1
 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
 next kj
 endif

 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

 if iNumFramesA > 2 then
 for ij = 2 to iNumFramesA-1
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
 next ij
 endif

 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15

 if iNumFramesA > 2 then
 for ij = 2 to iNumFramesA-1
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
 next ij
 endif

 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 ! -------------------------------------------------------------------------

 if gs_SashText_typ = `Type 1` then
 base

 prism_ 4+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 get ((iNumFramesB-2)*6+12)

 prism_ 4+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 get ((iNumFramesB-2)*6+12)

 vert 0, 0, 0
 vert 0, 1, 0
 vert 0, 0, 1
 vert 1, 0, 0
 coor 5, -1, -2, -3, -4
 body 1

 base

 prism_ 4+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 get ((iNumFramesA-2)*6+12)

 prism_ 4+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 get ((iNumFramesA-2)*6+12)

 vert 0, 0, 0
 vert 1, 0, 0
 vert 0, 0, 1
 vert 0, 1, 0
 coor 5, -1, -2, -3, -4
 body 1
 endif
 if gs_SashText_typ = `Type 2` then
 base
 prism_ 6+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
 get((iNumFramesB-2)*6),
 xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 prism_ 6+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
 get((iNumFramesB-2)*6),
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 vert 0, 0, 0
 vert 0, 1, 0
 vert 0, 0, 1
 vert 1, 0, 0
 coor 5, -1, -2, -3, -4
 body 1

 base
 prism_ 6+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
 get((iNumFramesA-2)*6),
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 13,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15

 prism_ 6+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 8,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15,
 get((iNumFramesA-2)*6),
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 vert 0, 0, 0
 vert 1, 0, 0
 vert 0, 0, 1
 vert 0, 1, 0
 coor 5, -1, -2, -3, -4
 body 1
 endif

 ! --- Both in type1 and type 2 / inner grids ---

 for ij = 2 to iNumFramesA-1
 for kj = 2 to iNumFramesB-1
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]+thickFrame/2, 15
 next kj
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
 for kj = iNumFramesB-1 to 2 step -1
 put xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]+thickFrame/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]-thickFrame/2, 15
 next kj
 put xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
 next ij
 if iNumFramesA > 2 then parn = (nsp/3)/(iNumFramesA-2) else parn = 0
 if iNumFramesA > 2 then outst = nsp/(iNumFramesA-2) else outst = 0

 for ij = 2 to iNumFramesA-1
 base
 prism_ parn,-yCoordEdges[1]+yCoordEdges[2],
 get(outst)
 vert 0, 0, 0
 vert 0, 1, 0
 vert 0, 0, 1
 vert 1, 0, 0
 coor 5, -1, -2, -3, -4
 body 1
 next ij

 for ij = 1 to iNumFramesA-1
 if ij = 1 or ij = iNumFramesA-1 then
 if ij = 1 then
 dx1 = thickEdge
 dx2 = thickFrame
 else
 dx1 = thickFrame
 dx2 = thickEdge
 endif
 else
 dx1 = thickFrame
 dx2 = thickFrame
 endif
 for kj = 2 to iNumFramesB-1
 base
 prism_ 4,-yCoordEdges[1]+yCoordEdges[2],
 xCoordFrames[ij]+dx1/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[ij]+dx1/2, yCoordFrames[kj]+thickFrame/2, 15,
 xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]+thickFrame/2, 10,
 xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]-thickFrame/2, 15
 vert 0, 0, 0
 vert 1, 0, 0
 vert 0, 0, 1
 vert 0, 1, 0
 coor 5, -1, -2, -3, -4
 body 1
 next kj
 next ij

 for o = 1 to iNumFramesA-1  step 1
 for e = 1 to iNumFramesB-1 step 1

 if o = 1 then
 dx1 = thickEdge
 dx2 = thickFrame
 else
 dx1 = thickFrame
 dx2 = thickFrame
 endif

 if o = iNumFramesA-1 then
 dx1 = thickFrame
 dx2 = thickEdge
 endif

 if e = 1 then
 dy1 = thickEdge
 dy2 = thickFrame
 else
 dy1 = thickFrame
 dy2 = thickFrame
 endif

 if e = iNumFramesB-1 then
 dy1 = thickFrame
 dy2 = thickEdge
 endif

 put xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,15,
 xCoordFrames[o+1]-dx2/2,yCoordFrames[e]+dy1/2,15,
 xCoordFrames[o+1]-dx2/2,yCoordFrames[e+1]-dy2/2,15,
 xCoordFrames[o]+dx1/2,yCoordFrames[e+1]-dy2/2,15,
 xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,-1

 next  e
 next  o

 if ifx1 = 0 then
 mask1 = 13
 mask4 = 8
 else
 mask1 = 15
 mask4 = 15
 endif

 if ifx2 = 0 then
 mask2 = 8
 mask3 = 13
 else
 mask2 = 15
 mask3 = 15
 endif

 addz yCoordEdges[1]
 body 1

 if bFilling <> 0 then

 material gs_glass_mat
 sect_fill gs_fillGlass, gs_penGlass_bg, gs_penGlass_fg, gs_cont_pen

 r = (iNumFramesA-1)*(iNumFramesB-1)

 addz (yCoordEdges[2]-yCoordEdges[1]-thickFilling)/2
 for k = 1 to r step 1
 prism_  5, thickFilling,
 get (15)
 next k
 body 1
 del 1
 endif
 del 3





return

! -----------------------------------------------------------------------------
! Horizontal
! -----------------------------------------------------------------------------
1:

 material gs_frame_mat

 sect_fill gs_fill_type, gs_back_pen, gs_fill_pen, gs_cont_pen

 if  u <= 0 or w <= 0 then
 prism_ 5, zCoordEdges[2]-zCoordEdges[1],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, -1
 end
 endif

 gosub 100

 gs_SashText_typ = `Type 1`

 put xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

 if iNumFramesB > 2 then
 for kj = 2 to iNumFramesB-1
 put xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
 next kj
 endif

 put xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

 if iNumFramesB > 2 then
 for kj = 2 to iNumFramesB-1
 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
 next kj
 endif

 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

 if iNumFramesA > 2 then
 for ij = 2 to iNumFramesA-1
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
 next ij
 endif

 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 10,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15

 if iNumFramesA > 2 then
 for ij = 2 to iNumFramesA-1
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
 next ij
 endif

 put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15


 ! -------------------------------------------------------------------------

 if gs_SashText_typ = `Type 1` then
 base

 prism_ 4+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
 get ((iNumFramesB-2)*6+12)

 prism_ 4+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
 get ((iNumFramesB-2)*6+12)

 vert 0, 0, 0
 vert 0, 1, 0
 vert 0, 0, 1
 vert 1, 0, 0
 coor 5, -1, -2, -3, -4
 body 1

 base

 prism_ 4+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
 get ((iNumFramesA-2)*6+12)

 prism_ 4+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
 get ((iNumFramesA-2)*6+12)

 vert 0, 0, 0
 vert 1, 0, 0
 vert 0, 0, 1
 vert 0, 1, 0
 coor 5, -1, -2, -3, -4
 body 1
 endif
 if gs_SashText_typ = `Type 2` then
 base
 prism_ 6+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
 get((iNumFramesB-2)*6),
 xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 prism_ 6+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
 get((iNumFramesB-2)*6),
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 vert 0, 0, 0
 vert 0, 1, 0
 vert 0, 0, 1
 vert 1, 0, 0
 coor 5, -1, -2, -3, -4
 body 1

 base
 prism_ 6+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
 get((iNumFramesA-2)*6),
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 13,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15

 prism_ 6+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
 xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 8,
 xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15,
 get((iNumFramesA-2)*6),
 xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
 xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

 vert 0, 0, 0
 vert 1, 0, 0
 vert 0, 0, 1
 vert 0, 1, 0
 coor 5, -1, -2, -3, -4
 body 1
 endif

 ! --- Both in type1 and type 2 / inner grids ---

 for ij = 2 to iNumFramesA-1
 for kj = 2 to iNumFramesB-1
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]+thickFrame/2, 15
 next kj
 put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
 for kj = iNumFramesB-1 to 2 step -1
 put xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]+thickFrame/2, 10,
 xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]-thickFrame/2, 15
 next kj
 put xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
 xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
 next ij

 if iNumFramesA > 2 then parn = (nsp/3)/(iNumFramesA-2) else parn = 0
 if iNumFramesA > 2 then outst = nsp/(iNumFramesA-2) else outst = 0

 for ij = 2 to iNumFramesA-1
 base

 prism_ parn,zCoordEdges[2]-zCoordEdges[1],
 get(outst)

 vert 0, 0, 0
 vert 0, 1, 0
 vert 0, 0, 1
 vert 1, 0, 0
 coor 5, -1, -2, -3, -4
 body 1
 next ij


 for ij = 1 to iNumFramesA-1
 if ij = 1 or ij = iNumFramesA-1 then
 if ij = 1 then
 dx1 = thickEdge
 dx2 = thickFrame
 else
 dx1 = thickFrame
 dx2 = thickEdge
 endif
 else
 dx1 = thickFrame
 dx2 = thickFrame
 endif
 for kj = 2 to iNumFramesB-1
 base
 prism_ 4,zCoordEdges[2]-zCoordEdges[1],
 xCoordFrames[ij]+dx1/2, yCoordFrames[kj]-thickFrame/2, 10,
 xCoordFrames[ij]+dx1/2, yCoordFrames[kj]+thickFrame/2, 15,
 xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]+thickFrame/2, 10,
 xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]-thickFrame/2, 15
 vert 0, 0, 0
 vert 1, 0, 0
 vert 0, 0, 1
 vert 0, 1, 0
 coor 5, -1, -2, -3, -4
 body 1
 next kj
 next ij

 for o = 1 to iNumFramesA-1  step 1
 for e = 1 to iNumFramesB-1  step 1

 if o = 1 then
 dx1 = thickEdge
 dx2 = thickFrame
 else
 dx1 = thickFrame
 dx2 = thickFrame
 endif

 if o = iNumFramesA-1 then
 dx1 = thickFrame
 dx2 = thickEdge
 endif

 if e = 1 then
 dy1 = thickEdge
 dy2 = thickFrame
 else
 dy1 = thickFrame
 dy2 = thickFrame
 endif

 if e = iNumFramesB-1 then
 dy1 = thickFrame
 dy2 = thickEdge
 endif

 put xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,15,
 xCoordFrames[o+1]-dx2/2,yCoordFrames[e]+dy1/2,15,
 xCoordFrames[o+1]-dx2/2,yCoordFrames[e+1]-dy2/2,15,
 xCoordFrames[o]+dx1/2,yCoordFrames[e+1]-dy2/2,15,
 xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,-1

 next  e
 next  o

 body 1

 if bFilling <> 0 then

 material gs_glass_mat
 sect_fill gs_fillGlass, gs_penGlass_bg, gs_penGlass_fg, gs_cont_pen

 r = (iNumFramesA-1)*(iNumFramesB-1)

 addz (zCoordEdges[2]-zCoordEdges[1]-thickFilling)/2
 for k = 1 to r step 1
 prism_  5,thickFilling,
 get (15)
 next  k
 del 1

 endif

return

! -----------------------------------------------------------------------------
! hotspot editing for Horizontal
! -----------------------------------------------------------------------------

100:

 for k0 = 1 to 2
 for k1 = 1 to 2
 hotspot 0,    yCoordEdges[k1],zCoordEdges[k0],unID,a,1+256:unID=unID+1
 hotspot -1,   yCoordEdges[k1],zCoordEdges[k0],unID,a,3    :unID=unID+1
 hotspot a,    yCoordEdges[k1],zCoordEdges[k0],unID,a,2    :unID=unID+1
 next k1
 next k0

 for k0 = 1 to 2
 for k1 = 1 to 2
 hotspot a*(k1-1),0,zCoordEdges[k0],unID,b,1+128:unID=unID+1
 hotspot a*(k1-1),-1,zCoordEdges[k0],unID,b,3    :unID=unID+1
 hotspot a*(k1-1),b,zCoordEdges[k0],unID,b,2    :unID=unID+1
 next k1
 next k0

 for k0 = 1 to 2
 for k1 = 1 to 2
 hotspot xCoordEdges[k1],yCoordEdges[k0],0,unID,ZZYZX,1+256:unID=unID+1
 hotspot xCoordEdges[k1],yCoordEdges[k0],-1,unID,ZZYZX,3    :unID=unID+1
 hotspot xCoordEdges[k1],yCoordEdges[k0],ZZYZX,unID,ZZYZX,2    :unID=unID+1
 next k1
 next k0

 xCoordFrames[1] = xCoordEdges[1] + thickEdge/2
 xCoordFrames[iNumFramesA] = xCoordEdges[2] - thickEdge/2
 yCoordFrames[1] = yCoordEdges[1] + thickEdge/2
 yCoordFrames[iNumFramesB] = yCoordEdges[2] - thickEdge/2

 for k = 2 to iNumFramesA-1
 hotspot 0,yCoordFrames[1],(zCoordEdges[2]-zCoordEdges[1])/2,unID,  xCoordFrames[k], 1+128 :unID=unID+1
 hotspot -1,yCoordFrames[1],(zCoordEdges[2]-zCoordEdges[1])/2, unID, xCoordFrames[k], 3   :unID=unID+1
 hotspot xCoordFrames[k],yCoordFrames[1],(zCoordEdges[2]-zCoordEdges[1])/2, unID,  xCoordFrames[k], 2   :unID=unID+1

 hotspot 0,yCoordFrames[iNumFramesB],(zCoordEdges[2]-zCoordEdges[1])/2,    unID,  xCoordFrames[k], 1+128 :unID=unID+1
 hotspot -1,yCoordFrames[iNumFramesB],(zCoordEdges[2]-zCoordEdges[1])/2,   unID, xCoordFrames[k], 3   :unID=unID+1
 hotspot xCoordFrames[k],yCoordFrames[iNumFramesB],(zCoordEdges[2]-zCoordEdges[1])/2,unID,  xCoordFrames[k], 2   :unID=unID+1
 next k

 for k = 2 to iNumFramesB-1
 hotspot xCoordFrames[1],0,(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
 hotspot xCoordFrames[1],-1,(zCoordEdges[2]-zCoordEdges[1])/2, unID, yCoordFrames[k], 3   :unID=unID+1
 hotspot xCoordFrames[1],yCoordFrames[k],(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 2   :unID=unID+1

 hotspot xCoordFrames[iNumFramesA],0,(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
 hotspot xCoordFrames[iNumFramesA],-1,(zCoordEdges[2]-zCoordEdges[1])/2, unID, yCoordFrames[k], 3   :unID=unID+1
 hotspot xCoordFrames[iNumFramesA],yCoordFrames[k],(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 2   :unID=unID+1
 next k

return


! -----------------------------------------------------------------------------
! hotspot editing for Vertical
! -----------------------------------------------------------------------------
200:



 for k0 = 1 to 2
 for k1 = 1 to 2
 hotspot 0,  zCoordEdges[k0],    yCoordEdges[k1],  unID,    a, 1+256 :unID=unID+1
 hotspot -1, zCoordEdges[k0],    yCoordEdges[k1],  unID,    a, 3   :unID=unID+1
 hotspot a,  zCoordEdges[k0],    yCoordEdges[k1],  unID,    a, 2   :unID=unID+1
 next k1
 next k0

 addy ZZYZX
 muly -1
 for k0 = 1 to 2
 for k1 = 1 to 2
 hotspot a*(k0-1),     0,       yCoordEdges[k1],   unID,  ZZYZX, 1+256 :unID=unID+1
 hotspot a*(k0-1),    -1,      yCoordEdges[k1],   unID,  ZZYZX, 3   :unID=unID+1
 hotspot a*(k0-1), ZZYZX,   yCoordEdges[k1],   unID,  ZZYZX, 2   :unID=unID+1
 next k1
 next k0
 del 2

 for k0 = 1 to 2
 for k1 = 1 to 2
 hotspot a*(k1-1), ZZYZX, 0,     unID,   b, 1+256 :unID=unID+1
 hotspot a*(k1-1), ZZYZX, -1,    unID,   b, 3   :unID=unID+1
 hotspot a*(k1-1), ZZYZX, b,     unID,   b, 2   :unID=unID+1
 next k1
 next k0


 xCoordFrames[1] = xCoordEdges[1] + thickEdge/2
 xCoordFrames[iNumFramesA] = xCoordEdges[2] - thickEdge/2
 yCoordFrames[1] = zCoordEdges[1] + thickEdge/2
 yCoordFrames[iNumFramesB] = zCoordEdges[2] - thickEdge/2

 for k = 2 to iNumFramesA-1
 hotspot 0,    yCoordFrames[1],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 1+128 :unID=unID+1
 hotspot -1,   yCoordFrames[1],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 3   :unID=unID+1
 hotspot xCoordFrames[k],yCoordFrames[1],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 2   :unID=unID+1

 hotspot 0,    yCoordFrames[iNumFramesB],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 1+128 :unID=unID+1
 hotspot -1,   yCoordFrames[iNumFramesB],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 3   :unID=unID+1
 hotspot xCoordFrames[k],yCoordFrames[iNumFramesB],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 2   :unID=unID+1
 next k

 for k = 2 to iNumFramesB-1
 hotspot xCoordFrames[1],    0,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
 hotspot xCoordFrames[1],   -1,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 3     :unID=unID+1
 hotspot xCoordFrames[1],yCoordFrames[k],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 2     :unID=unID+1

 hotspot xCoordFrames[iNumFramesA],    0,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
 hotspot xCoordFrames[iNumFramesA],   -1,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 3     :unID=unID+1
 hotspot xCoordFrames[iNumFramesA],yCoordFrames[k],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 2     :unID=unID+1
 next k

return


Merci(lk) d'avance content


Dernière édition par Farkas le Lun 30 Mai 2016 - 5:49, édité 2 fois

-------------------------------------------------------------------------------------------------------------------------
Farkas se prononce fɔʁkɔʃ

HackBook Pro -- MSI GP72VR 7RF -- Intel i7 7700HG -- Intel HD630 + GTX 1060 (4Go) -- Mac OS 11.5 / Windows 10
Alienware x17 R2 -- Intel i7 12700H -- 64 Go -- RTX 3080 Ti -- Windows 11
Silk37
Silk37
modérateur
modérateur
Masculin Date d'inscription : 05/05/2013
Nombre de messages : 6091
Points : 12800
Age : 44
Localisation : La Membrolle-sur-Choisille
Emploi : GDListe - Formateur
https://www.facebook.com/PatrimoineVirtuel

MessageSilk37 Mar 24 Mai 2016 - 12:33

Le del 3 de ta ligne 5 ( une ligne vide compte pour 1) annulé les 3 modifications de coordonnées précédentes. .. Il doit donc être placé après les lignes de script qui créent la 3d. La tu te deplaces, tu reviens à ton point de départ et ensuite tu crées ta 3d... normal que ça ne change rien

-------------------------------------------------------------------------------------------------------------------------
Programmeur et formateur GDL à BIM Services
Président-modélisateur de PatrimoineVirtuel


PC fixe : Windows 10 64bit - I7 6900K 8 cœurs 3.7Ghz - 32Go RAM - Geforce GTX 1070
PC portable : hp ZBook - Windows 10 64bit Pro - I7 7820HQ 4 cœurs 2.9Ghz - 16Go RAM - Quatro M1200

ArchiCAD 10 à 20 - GDL - AutoCAD 2D
Farkas
Farkas
Administrateurs
Administrateurs
Masculin Humeur : C'est bon le sirop d'érable
Date d'inscription : 29/11/2012
Nombre de messages : 4422
Points : 8672
Age : 38
Localisation : Canada
Emploi : Architecte

MessageFarkas Lun 30 Mai 2016 - 5:49

Silk37 a écrit:Le del 3 de ta ligne 5 ( une ligne vide compte pour 1) annulé les 3 modifications de coordonnées précédentes. .. Il doit donc être placé après les lignes de script qui créent la 3d. La tu te deplaces,  tu reviens à ton point de départ et ensuite tu crées ta 3d... normal que ça ne change rien
J'ai donc replacé le DEL3 à la fin de la première partie comme ceci et ça semble fonctionner !

Code:
RotX Xrotang
RotY Yrotang
RotZ Zrotang

gs_fill_type   = gs_fill_type * gs_bFills
gs_fill_pen      = gs_fill_pen * gs_bFills
gs_back_pen      = gs_back_pen * gs_bFills

gs_fillGlass = gs_fillGlass * gs_bFills
gs_penGlass_fg = gs_penGlass_fg * gs_bFills
gs_penGlass_bg   = gs_penGlass_bg * gs_bFills

gs_fillSdl = gs_fillSdl * gs_bFills
gs_penSdl_fg = gs_penSdl_fg * gs_bFills
gs_penSdl_bg   = gs_penSdl_bg * gs_bFills

if gs_detlevel_3D_m = 0 then end
if not(gs_shadow) then shadow off

unID = 1
pen gs_cont_pen
gosub iStyle

DEL 3

end



! =============================================================================
! SUBRUTINES
!
! =============================================================================

! -----------------------------------------------------------------------------
! Vertical
! -----------------------------------------------------------------------------
2:
   material gs_frame_mat
   sect_fill gs_fill_type, gs_back_pen, gs_fill_pen, gs_cont_pen

   rotx 90
   addz -B
   gosub 200

   if  u <= 0 or w <= 0 then
      addz yCoordEdges[1]
      prism_ 5, -yCoordEdges[1] + yCoordEdges[2],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, -1

      del 1
      end
   endif



   gs_SashText_typ = `Type 1`

   put   xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
      xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

   if iNumFramesB > 2 then
      for kj = 2 to iNumFramesB-1
         put xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
      next kj
   endif

   put   xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
      xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
      xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

   if iNumFramesB > 2 then
      for kj = 2 to iNumFramesB-1
         put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
      next kj
   endif

   put   xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
      xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
      xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

   if iNumFramesA > 2 then
      for ij = 2 to iNumFramesA-1
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
      next ij
   endif

   put   xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
      xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 10,
      xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15

   if iNumFramesA > 2 then
      for ij = 2 to iNumFramesA-1
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
      next ij
   endif

   put   xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

   ! -------------------------------------------------------------------------

   if gs_SashText_typ = `Type 1` then
      base

      prism_ 4+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         get ((iNumFramesB-2)*6+12)

      prism_ 4+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         get ((iNumFramesB-2)*6+12)

      vert 0, 0, 0
      vert 0, 1, 0
      vert 0, 0, 1
      vert 1, 0, 0
      coor 5, -1, -2, -3, -4
      body 1

      base

      prism_ 4+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         get ((iNumFramesA-2)*6+12)

      prism_ 4+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         get ((iNumFramesA-2)*6+12)

      vert 0, 0, 0
      vert 1, 0, 0
      vert 0, 0, 1
      vert 0, 1, 0
      coor 5, -1, -2, -3, -4
      body 1
   endif
   if gs_SashText_typ = `Type 2` then
      base
      prism_ 6+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
         xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
         get((iNumFramesB-2)*6),
         xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

      prism_ 6+((iNumFramesB-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
         get((iNumFramesB-2)*6),
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

      vert 0, 0, 0
      vert 0, 1, 0
      vert 0, 0, 1
      vert 1, 0, 0
      coor 5, -1, -2, -3, -4
      body 1

      base
      prism_ 6+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
         xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
         get((iNumFramesA-2)*6),
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 13,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15

      prism_ 6+((iNumFramesA-2)*2),-yCoordEdges[1]+yCoordEdges[2],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 8,
         xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15,
         get((iNumFramesA-2)*6),
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

      vert 0, 0, 0
      vert 1, 0, 0
      vert 0, 0, 1
      vert 0, 1, 0
      coor 5, -1, -2, -3, -4
      body 1
   endif

   ! --- Both in type1 and type 2 / inner grids ---

   for ij = 2 to iNumFramesA-1
      for kj = 2 to iNumFramesB-1
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]+thickFrame/2, 15
      next kj
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
      for kj = iNumFramesB-1 to 2 step -1
         put xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]+thickFrame/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]-thickFrame/2, 15
      next kj
         put xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
            xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
   next ij
   if iNumFramesA > 2 then parn = (nsp/3)/(iNumFramesA-2) else parn = 0
   if iNumFramesA > 2 then outst = nsp/(iNumFramesA-2) else outst = 0

   for ij = 2 to iNumFramesA-1
      base
         prism_ parn,-yCoordEdges[1]+yCoordEdges[2],
            get(outst)
      vert 0, 0, 0
      vert 0, 1, 0
      vert 0, 0, 1
      vert 1, 0, 0
      coor 5, -1, -2, -3, -4
      body 1
   next ij

   for ij = 1 to iNumFramesA-1
      if ij = 1 or ij = iNumFramesA-1 then
         if ij = 1 then
            dx1 = thickEdge
            dx2 = thickFrame
         else
            dx1 = thickFrame
            dx2 = thickEdge
         endif
      else
         dx1 = thickFrame
         dx2 = thickFrame
      endif
      for kj = 2 to iNumFramesB-1
         base
         prism_ 4,-yCoordEdges[1]+yCoordEdges[2],
            xCoordFrames[ij]+dx1/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[ij]+dx1/2, yCoordFrames[kj]+thickFrame/2, 15,
            xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]+thickFrame/2, 10,
            xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]-thickFrame/2, 15
         vert 0, 0, 0
         vert 1, 0, 0
         vert 0, 0, 1
         vert 0, 1, 0
         coor 5, -1, -2, -3, -4
         body 1
      next kj
   next ij

   for o = 1 to iNumFramesA-1  step 1
      for e = 1 to iNumFramesB-1 step 1

         if o = 1 then
            dx1 = thickEdge
            dx2 = thickFrame
         else
            dx1 = thickFrame
            dx2 = thickFrame
         endif

         if o = iNumFramesA-1 then
            dx1 = thickFrame
            dx2 = thickEdge
         endif

         if e = 1 then
            dy1 = thickEdge
            dy2 = thickFrame
         else
            dy1 = thickFrame
            dy2 = thickFrame
         endif

         if e = iNumFramesB-1 then
            dy1 = thickFrame
            dy2 = thickEdge
         endif

         put xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,15,
            xCoordFrames[o+1]-dx2/2,yCoordFrames[e]+dy1/2,15,
            xCoordFrames[o+1]-dx2/2,yCoordFrames[e+1]-dy2/2,15,
            xCoordFrames[o]+dx1/2,yCoordFrames[e+1]-dy2/2,15,
            xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,-1

      next  e
   next  o

   if ifx1 = 0 then
      mask1 = 13
      mask4 = 8
   else
      mask1 = 15
      mask4 = 15
   endif

   if ifx2 = 0 then
      mask2 = 8
      mask3 = 13
   else
      mask2 = 15
      mask3 = 15
   endif

   addz yCoordEdges[1]
   body 1

   if bFilling <> 0 then

      material gs_glass_mat
      sect_fill gs_fillGlass, gs_penGlass_bg, gs_penGlass_fg, gs_cont_pen

      r = (iNumFramesA-1)*(iNumFramesB-1)

      addz (yCoordEdges[2]-yCoordEdges[1]-thickFilling)/2
      for k = 1 to r step 1
         prism_  5, thickFilling,
            get (15)
      next k
      body 1
      del 1
   endif
   del 3





return

! -----------------------------------------------------------------------------
! Horizontal
! -----------------------------------------------------------------------------
1:

   material gs_frame_mat

   sect_fill gs_fill_type, gs_back_pen, gs_fill_pen, gs_cont_pen

   if  u <= 0 or w <= 0 then
      prism_ 5, zCoordEdges[2]-zCoordEdges[1],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, -1
      end
   endif

   gosub 100

   gs_SashText_typ = `Type 1`

   put   xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
      xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

   if iNumFramesB > 2 then
      for kj = 2 to iNumFramesB-1
         put xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[1]+thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
      next kj
   endif

   put   xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
      xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
      xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

   if iNumFramesB > 2 then
      for kj = 2 to iNumFramesB-1
         put xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[kj]+thickFrame/2, 15
      next kj
   endif

   put   xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
      xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 10,
      xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15

   if iNumFramesA > 2 then
      for ij = 2 to iNumFramesA-1
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
      next ij
   endif

   put   xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
      xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 10,
      xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15

   if iNumFramesA > 2 then
      for ij = 2 to iNumFramesA-1
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
      next ij
   endif

   put   xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
      xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15


   ! -------------------------------------------------------------------------

   if gs_SashText_typ = `Type 1` then
      base

      prism_ 4+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
         get ((iNumFramesB-2)*6+12)

      prism_ 4+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
         get ((iNumFramesB-2)*6+12)

      vert 0, 0, 0
      vert 0, 1, 0
      vert 0, 0, 1
      vert 1, 0, 0
      coor 5, -1, -2, -3, -4
      body 1

      base

      prism_ 4+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
         get ((iNumFramesA-2)*6+12)

      prism_ 4+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
         get ((iNumFramesA-2)*6+12)

      vert 0, 0, 0
      vert 1, 0, 0
      vert 0, 0, 1
      vert 0, 1, 0
      coor 5, -1, -2, -3, -4
      body 1
   endif
   if gs_SashText_typ = `Type 2` then
      base
      prism_ 6+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
         xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
         get((iNumFramesB-2)*6),
         xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

      prism_ 6+((iNumFramesB-2)*2),zCoordEdges[2]-zCoordEdges[1],
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
         get((iNumFramesB-2)*6),
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

      vert 0, 0, 0
      vert 0, 1, 0
      vert 0, 0, 1
      vert 1, 0, 0
      coor 5, -1, -2, -3, -4
      body 1

      base
      prism_ 6+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]-thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 8,
         xCoordFrames[1]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 15,
         get((iNumFramesA-2)*6),
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[1]+thickEdge/2, 10,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]+thickEdge/2, 13,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[1]-thickEdge/2, 15

      prism_ 6+((iNumFramesA-2)*2),zCoordEdges[2]-zCoordEdges[1],
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15,
         xCoordFrames[1]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 8,
         xCoordFrames[1]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15,
         get((iNumFramesA-2)*6),
         xCoordFrames[iNumFramesA]-thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]-thickEdge/2, 13,
         xCoordFrames[iNumFramesA]+thickEdge/2, yCoordFrames[iNumFramesB]+thickEdge/2, 15

      vert 0, 0, 0
      vert 1, 0, 0
      vert 0, 0, 1
      vert 0, 1, 0
      coor 5, -1, -2, -3, -4
      body 1
   endif

   ! --- Both in type1 and type 2 / inner grids ---

   for ij = 2 to iNumFramesA-1
      for kj = 2 to iNumFramesB-1
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[ij]-thickFrame/2, yCoordFrames[kj]+thickFrame/2, 15
      next kj
         put xCoordFrames[ij]-thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[iNumFramesB]-thickEdge/2, 15
      for kj = iNumFramesB-1 to 2 step -1
         put xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]+thickFrame/2, 10,
            xCoordFrames[ij]+thickFrame/2, yCoordFrames[kj]-thickFrame/2, 15
      next kj
         put xCoordFrames[ij]+thickFrame/2, yCoordFrames[1]+thickEdge/2, 10,
            xCoordFrames[ij]-thickFrame/2, yCoordFrames[1]+thickEdge/2, 15
   next ij

   if iNumFramesA > 2 then parn = (nsp/3)/(iNumFramesA-2) else parn = 0
   if iNumFramesA > 2 then outst = nsp/(iNumFramesA-2) else outst = 0

   for ij = 2 to iNumFramesA-1
      base

      prism_ parn,zCoordEdges[2]-zCoordEdges[1],
         get(outst)

      vert 0, 0, 0
      vert 0, 1, 0
      vert 0, 0, 1
      vert 1, 0, 0
      coor 5, -1, -2, -3, -4
      body 1
   next ij


   for ij = 1 to iNumFramesA-1
      if ij = 1 or ij = iNumFramesA-1 then
         if ij = 1 then
            dx1 = thickEdge
            dx2 = thickFrame
         else
            dx1 = thickFrame
            dx2 = thickEdge
         endif
      else
         dx1 = thickFrame
         dx2 = thickFrame
      endif
      for kj = 2 to iNumFramesB-1
         base
         prism_ 4,zCoordEdges[2]-zCoordEdges[1],
            xCoordFrames[ij]+dx1/2, yCoordFrames[kj]-thickFrame/2, 10,
            xCoordFrames[ij]+dx1/2, yCoordFrames[kj]+thickFrame/2, 15,
            xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]+thickFrame/2, 10,
            xCoordFrames[ij+1]-dx2/2, yCoordFrames[kj]-thickFrame/2, 15
         vert 0, 0, 0
         vert 1, 0, 0
         vert 0, 0, 1
         vert 0, 1, 0
         coor 5, -1, -2, -3, -4
         body 1
      next kj
   next ij

   for o = 1 to iNumFramesA-1  step 1
      for e = 1 to iNumFramesB-1  step 1

         if o = 1 then
            dx1 = thickEdge
            dx2 = thickFrame
         else
            dx1 = thickFrame
            dx2 = thickFrame
         endif

         if o = iNumFramesA-1 then
            dx1 = thickFrame
            dx2 = thickEdge
         endif

         if e = 1 then
            dy1 = thickEdge
            dy2 = thickFrame
         else
            dy1 = thickFrame
            dy2 = thickFrame
         endif

         if e = iNumFramesB-1 then
            dy1 = thickFrame
            dy2 = thickEdge
         endif

         put xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,15,
            xCoordFrames[o+1]-dx2/2,yCoordFrames[e]+dy1/2,15,
            xCoordFrames[o+1]-dx2/2,yCoordFrames[e+1]-dy2/2,15,
            xCoordFrames[o]+dx1/2,yCoordFrames[e+1]-dy2/2,15,
            xCoordFrames[o]+dx1/2,yCoordFrames[e]+dy1/2,-1

      next  e
   next  o

   body 1

   if bFilling <> 0 then

      material gs_glass_mat
      sect_fill gs_fillGlass, gs_penGlass_bg, gs_penGlass_fg, gs_cont_pen

      r = (iNumFramesA-1)*(iNumFramesB-1)

      addz (zCoordEdges[2]-zCoordEdges[1]-thickFilling)/2
      for k = 1 to r step 1
         prism_  5,thickFilling,
            get (15)
      next  k
      del 1

   endif

return

! -----------------------------------------------------------------------------
! hotspot editing for Horizontal
! -----------------------------------------------------------------------------

100:

   for k0 = 1 to 2
      for k1 = 1 to 2
         hotspot 0,    yCoordEdges[k1],zCoordEdges[k0],unID,a,1+256:unID=unID+1
         hotspot -1,  yCoordEdges[k1],zCoordEdges[k0],unID,a,3    :unID=unID+1
         hotspot a,    yCoordEdges[k1],zCoordEdges[k0],unID,a,2    :unID=unID+1
      next k1
   next k0

   for k0 = 1 to 2
      for k1 = 1 to 2
         hotspot a*(k1-1),0,zCoordEdges[k0],unID,b,1+128:unID=unID+1
         hotspot a*(k1-1),-1,zCoordEdges[k0],unID,b,3    :unID=unID+1
         hotspot a*(k1-1),b,zCoordEdges[k0],unID,b,2    :unID=unID+1
      next k1
   next k0

   for k0 = 1 to 2
      for k1 = 1 to 2
         hotspot xCoordEdges[k1],yCoordEdges[k0],0,unID,ZZYZX,1+256:unID=unID+1
         hotspot xCoordEdges[k1],yCoordEdges[k0],-1,unID,ZZYZX,3    :unID=unID+1
         hotspot xCoordEdges[k1],yCoordEdges[k0],ZZYZX,unID,ZZYZX,2    :unID=unID+1
      next k1
   next k0

   xCoordFrames[1] = xCoordEdges[1] + thickEdge/2
   xCoordFrames[iNumFramesA] = xCoordEdges[2] - thickEdge/2
   yCoordFrames[1] = yCoordEdges[1] + thickEdge/2
   yCoordFrames[iNumFramesB] = yCoordEdges[2] - thickEdge/2

   for k = 2 to iNumFramesA-1
      hotspot 0,yCoordFrames[1],(zCoordEdges[2]-zCoordEdges[1])/2,unID,  xCoordFrames[k], 1+128 :unID=unID+1
      hotspot -1,yCoordFrames[1],(zCoordEdges[2]-zCoordEdges[1])/2, unID, xCoordFrames[k], 3  :unID=unID+1
      hotspot xCoordFrames[k],yCoordFrames[1],(zCoordEdges[2]-zCoordEdges[1])/2, unID,  xCoordFrames[k], 2  :unID=unID+1

      hotspot 0,yCoordFrames[iNumFramesB],(zCoordEdges[2]-zCoordEdges[1])/2,    unID,  xCoordFrames[k], 1+128 :unID=unID+1
      hotspot -1,yCoordFrames[iNumFramesB],(zCoordEdges[2]-zCoordEdges[1])/2,  unID, xCoordFrames[k], 3  :unID=unID+1
      hotspot xCoordFrames[k],yCoordFrames[iNumFramesB],(zCoordEdges[2]-zCoordEdges[1])/2,unID,  xCoordFrames[k], 2  :unID=unID+1
   next k

   for k = 2 to iNumFramesB-1
      hotspot xCoordFrames[1],0,(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
      hotspot xCoordFrames[1],-1,(zCoordEdges[2]-zCoordEdges[1])/2, unID, yCoordFrames[k], 3  :unID=unID+1
      hotspot xCoordFrames[1],yCoordFrames[k],(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 2  :unID=unID+1

      hotspot xCoordFrames[iNumFramesA],0,(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
      hotspot xCoordFrames[iNumFramesA],-1,(zCoordEdges[2]-zCoordEdges[1])/2, unID, yCoordFrames[k], 3  :unID=unID+1
      hotspot xCoordFrames[iNumFramesA],yCoordFrames[k],(zCoordEdges[2]-zCoordEdges[1])/2, unID,  yCoordFrames[k], 2  :unID=unID+1
   next k

return


! -----------------------------------------------------------------------------
! hotspot editing for Vertical
! -----------------------------------------------------------------------------
200:



   for k0 = 1 to 2
      for k1 = 1 to 2
         hotspot 0,  zCoordEdges[k0],    yCoordEdges[k1],  unID,    a, 1+256 :unID=unID+1
         hotspot -1, zCoordEdges[k0],    yCoordEdges[k1],  unID,    a, 3  :unID=unID+1
         hotspot a,  zCoordEdges[k0],    yCoordEdges[k1],  unID,    a, 2  :unID=unID+1
      next k1
   next k0

   addy ZZYZX
   muly -1
   for k0 = 1 to 2
      for k1 = 1 to 2
         hotspot a*(k0-1),    0,      yCoordEdges[k1],  unID,  ZZYZX, 1+256 :unID=unID+1
         hotspot a*(k0-1),    -1,      yCoordEdges[k1],  unID,  ZZYZX, 3  :unID=unID+1
         hotspot a*(k0-1), ZZYZX,  yCoordEdges[k1],  unID,  ZZYZX, 2  :unID=unID+1
      next k1
   next k0
   del 2

   for k0 = 1 to 2
      for k1 = 1 to 2
         hotspot a*(k1-1), ZZYZX, 0,    unID,  b, 1+256 :unID=unID+1
         hotspot a*(k1-1), ZZYZX, -1,    unID,  b, 3  :unID=unID+1
         hotspot a*(k1-1), ZZYZX, b,    unID,  b, 2  :unID=unID+1
      next k1
   next k0


   xCoordFrames[1] = xCoordEdges[1] + thickEdge/2
   xCoordFrames[iNumFramesA] = xCoordEdges[2] - thickEdge/2
   yCoordFrames[1] = zCoordEdges[1] + thickEdge/2
   yCoordFrames[iNumFramesB] = zCoordEdges[2] - thickEdge/2

   for k = 2 to iNumFramesA-1
      hotspot 0,    yCoordFrames[1],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 1+128 :unID=unID+1
      hotspot -1,  yCoordFrames[1],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 3  :unID=unID+1
      hotspot xCoordFrames[k],yCoordFrames[1],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 2  :unID=unID+1

      hotspot 0,    yCoordFrames[iNumFramesB],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 1+128 :unID=unID+1
      hotspot -1,  yCoordFrames[iNumFramesB],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 3  :unID=unID+1
      hotspot xCoordFrames[k],yCoordFrames[iNumFramesB],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  xCoordFrames[k], 2  :unID=unID+1
   next k

   for k = 2 to iNumFramesB-1
      hotspot xCoordFrames[1],    0,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
      hotspot xCoordFrames[1],  -1,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 3    :unID=unID+1
      hotspot xCoordFrames[1],yCoordFrames[k],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 2    :unID=unID+1

      hotspot xCoordFrames[iNumFramesA],    0,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 1+128 :unID=unID+1
      hotspot xCoordFrames[iNumFramesA],  -1,(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 3    :unID=unID+1
      hotspot xCoordFrames[iNumFramesA],yCoordFrames[k],(yCoordEdges[1]+yCoordEdges[2])/2, unID,  yCoordFrames[k], 2    :unID=unID+1
   next k

return


Mersilk bien ! content

-------------------------------------------------------------------------------------------------------------------------
Farkas se prononce fɔʁkɔʃ

HackBook Pro -- MSI GP72VR 7RF -- Intel i7 7700HG -- Intel HD630 + GTX 1060 (4Go) -- Mac OS 11.5 / Windows 10
Alienware x17 R2 -- Intel i7 12700H -- 64 Go -- RTX 3080 Ti -- Windows 11
Silk37
Silk37
modérateur
modérateur
Masculin Date d'inscription : 05/05/2013
Nombre de messages : 6091
Points : 12800
Age : 44
Localisation : La Membrolle-sur-Choisille
Emploi : GDListe - Formateur
https://www.facebook.com/PatrimoineVirtuel

MessageSilk37 Lun 30 Mai 2016 - 7:07

Y a pas de quoi rigole

-------------------------------------------------------------------------------------------------------------------------
Programmeur et formateur GDL à BIM Services
Président-modélisateur de PatrimoineVirtuel


PC fixe : Windows 10 64bit - I7 6900K 8 cœurs 3.7Ghz - 32Go RAM - Geforce GTX 1070
PC portable : hp ZBook - Windows 10 64bit Pro - I7 7820HQ 4 cœurs 2.9Ghz - 16Go RAM - Quatro M1200

ArchiCAD 10 à 20 - GDL - AutoCAD 2D
Contenu sponsorisé

MessageContenu sponsorisé

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Sujets similaires

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum