sketchucation logo sketchucation
    • Login
    1. Home
    2. kattig
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
    K
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 4
    • Groups 1

    kattig

    @kattig

    10
    Reputation
    1
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    kattig Unfollow Follow
    registered-users

    Latest posts made by kattig

    • RE: Accoler deux composants

      Bonjour Adebeo,

      Effectivement, ce n'est pas la meilleur solution que de tout éclater...
      En plus, cela créer une perte d'informations (qui est qui), etc.

      J'ai vraiment tout cherché mais là, je ne sais plus où chercher de plus...

      Voici un bout de xml:

      
      ....
      <structlayer>
        <name>Clotures</name>
        <structure id="Cloture 1">
         <modelfile>Cloture_image(skp6).skp</modelfile>
         <point>
          <x>601908.878706722</x>
          <y>1815023.22060379</y>
          <z>345</z>
         </point>
         <roll>0</roll>
         <angle>1.85133587106625</angle>
        </structure>
        <structure id="Cloture 2">
         <modelfile>Cloture_image(skp6).skp</modelfile>
         <point>
          <x>601907.217461881</x>
          <y>1815028.98604095</y>
          <z>345</z>
         </point>
         <roll>0</roll>
         <angle>1.85133587106625</angle>
       </structure>
      ...
      
      

      Et un bout de code ruby:

      
      ...
      model = Sketchup.active_model
      view = model.active_view
      entities = model.entities
      layers = model.layers
      definitions = model.definitions	
      ....
      
      structlayer.each_element('structure') do |structure|
        point=structure.elements["point"]
        x,y,z=point.elements.to_a
      
        roll=structure.elements["roll"].text
        skpmodel=structure.elements["modelfile"].text
        componentdefinition = definitions.load skpmodel
        rotation_cloture = structure.elements["angle"]
      
        x = (x.text.to_f).m
        y = (y.text.to_f).m
        z = (z.text.to_f).m
      
        roll= (-1)*roll.to_f
      
        point = Geom;;Point3d.new(x, y, z)
      
        t = Geom;;Transformation.new
        d = entities.add_instance componentdefinition, t
        vector=Geom;;Vector3d.new 0,1,0
        t = Geom;;Transformation.new d.transformation.origin, vector, roll
      
        d.transform! t  
      
        if(rotation_cloture)
         vector = Geom;;Vector3d.new 0,0,1
         t = Geom;;Transformation.new d.transformation.origin, vector, rotation_cloture.text.to_f
         d.transform! t  
         scaling_cloture = structure.elements["scaling"]
         if(scaling_cloture)
      	t = Geom;;Transformation.scaling d.transformation.origin, scaling_cloture.text.to_f, 1, 1
      	d.transform! t
         end
      end
      t = Geom;;Transformation.new point
      d.transform! t
      ...
      

      Franchement, je vous remercie infiniment si vous trouvez d'où vient le problème...

      Cordialement

      Kattig

      posted in Français
      K
      kattig
    • RE: Accoler deux composants

      Bonjour Pilou,

      Merci pour votre réponse.
      Component stringer parait intéressant mais vu que j'ai déjà les coordonnées de chaque morceau (qui sont censé être bon), je préfèrerais rester sur cette voie...

      Je tiendrai compte de votre conseil en envoyant un MP à Fredo6.

      Merci

      Kattig

      posted in Français
      K
      kattig
    • RE: Accoler deux composants

      Bonjour Jean Lemire,

      Merci pour votre réponse.
      Le calcul est question dont vous faites référence avec déjà été précédemment fait. Ils se trouvent dans le fichier xml que j'ai parlé au début.
      Sinon, j'avais eu un message en mp me conseillant d'utiliser le boundingbox ou le glued_to mais:

      1. le boundingbox, je l'avais déjà testé manuellement sur la console pour voir ce que cela faisait mais cela ne donnait pas le rendu voulu...
      2. le glued_to ne concerne que les faces.. et ce n'est pas non plus ce que je recherche...

      Sinon, j'ai compris d'où venait mon problème:
      En utilisant le add_instance pour chaque point, cela rendait à chaque fois un composant et c'est à cause de cela que tous mes calculs étaient faussés et que les clotures n'étaient pas cote à cote..

      Ce que j'ai fait manuellement: j'ai éclaté tous les composants "cloture". A ce moment, presque toutes clotures se remettaient en place. Cependant, c'est "presque". Pour que le rendu soit complet, il fallait créer un composant sur toutes les entités des clotures.

      Niveau code, explosé un composant, j'utilise explode.
      Mais il me reste un soucis pour créer un composant sur toutes les entités générés par l'éclatement...
      Est-ce possible en ruby?
      Je sais que pour un group, on peut le créer grace à group.to_component.
      Y aurait-il un moyen de le faire via les entités?

      Merci d'avance pour votre aide.

      kattig

      PS: je suis toujours intéressée de connaître la solution pour coller les clôtures..

      posted in Français
      K
      kattig
    • Accoler deux composants

      Bonjour,

      Je suis nouvelle sur ce forum ce qui n'empêche pas que j'ai cherché dans les différents topics si je trouvais mon bonheur mais en vain...

      Voici mon problème:

      J'ai crée un composant simple sur un fichier skp qui représente un morceau de clôture de largeur 6m.
      J'ai créé un fichier ruby afin de créer un clôture complète en fonction des coordonnées pris dans un fichier xml (position de chaque clôture) + la rotation afin de pouvoir les accoler.

      le problème est que cela ne se fait pas... Il y a toujours un décalage....

      Auriez-vous une idée de comment je peux joindre les bords de chaque morceau de clôture via ruby?

      Je vous remercie d'avance pour votre aide.

      Cordialement

      kattig

      Ps: je vous joint la capture d'écran


      capture d'écran

      posted in Français
      K
      kattig