Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Fri 24 February 2012 11:19

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

[APIC] ASL : vérification de conformité 2D/3D et mise à jour des z

Aloha,

Un petit asl pour remettre d'aplomb votre base de données si comme nous vous avez des utilisateurs indélicats qui importent de la donnée 2D dans des modèles 3D :

Code:

 
Fonction [Test3D]
[
  CollectionDetruire "BRINDAVOINE_MAUVAISE"
  CollectionCreer "BRINDAVOINE_MAUVAISE"

  //
  PourChaque [compo] Flot( Ici mettre la liste des composants à tester, par exemple : "R123", "PLU_ZON")
  [
       Quand (BibComposantDimension compo == 3)
      [
        Selectionner (BibComposantNature compo,
          1, [TestLi (compo)],
          2, [TestSy (compo)])
     ]
  ]
  Ecrire TexteFormat ("Nombre d'objets 3D sans Z : %i",CollectionTaille "BRINDAVOINE_MAUVAISE")
]

Fonction [TestLi (compo) var tab]
[
    Donner [tab] AllouerTable TypePoint 8001
    
     PourChaque [obj] ParcourirComposant(compo,100)
     [
          PourChaque [Section] ObjetNombreSection obj
          [
               Donner [nbpt] ObjetSection obj Section tab
               PourChaque [i] FlotEntier 0 (nbpt - 1)
            [   
                Quand (ZPoint (tab -> i) == -2147483648)  


              [
                   CollectionAjouterObjet "BRINDAVOINE_MAUVAISE" obj
                   ObjetDeplacerPoint obj Section (i + 1) Point3D XPoint (tab -> i) YPoint (tab -> i) UtilisateurVersSysteme -99
                 ]
             ]
        ]
    ]

]
 
 
Fonction [TestSy (compo) var obj]
[
    PourChaque [obj] ParcourirComposant (compo,100)
     [
         Quand (ZPoint ObjetSymbolePoint obj == -2147483648)
         [
             CollectionAjouterObjet "BRINDAVOINE_MAUVAISE" obj
             ObjetSymboleModifier obj Point3D XPoint ObjetSymbolePoint obj YPoint ObjetSymbolePoint obj UtilisateurVersSysteme -99 ObjetSymboleAngle obj
         ]
     ]
]
 
Test3D

art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#2 Fri 24 February 2012 15:50

Bruno
Membre du bureau
Lieu: Toulouse
Date d'inscription: 22 Jun 2005
Messages: 11762
Site web

Re: [APIC] ASL : vérification de conformité 2D/3D et mise à jour des z

Enfin un morceau de code APIC sur GeoRezo!

Merci Pierre.

Bruno

Hors ligne

 

Pied de page des forums

Powered by FluxBB