CoursInformatiqueSketchup

cours sketchup et Ruby : la classe Edges

Dans le cadre des séries de cours sketchup, nous poursuivons avec le troisième chapitre du livre de Mattew Scarpino, auquel nous nous référons, jetons un coup d’œil à la classe Edges, la plus simple : nous pouvons commencer à griffonner du code.

Le plus simple des éléments de conception


Parmi les nombreuses classes « élément de dessin », la plus simple à comprendre est le « bord », qui représente le segment de ligne entre deux points.

Les objets Edge sont créés avec la méthode add_line, suivie des coordonnées des points de début et de fin. Lorsque vous appelez cette méthode, SketchUp trace une ligne entre les deux points et ajoute l’élément à la liste des entités du modèle actuel.

Par exemple, la commande suivante crée un segment qui s’étend de [5, 0, 0] à [10, 0, 0] :

Sketchup.active_model.entities.add_line [5, 0, 0], [10, 0, 0]

La plupart des méthodes de la classe Edge appartiennent à l’une des deux catégories suivantes :

Méthodes qui configurent l’apparence d’Edge ;
les méthodes qui accèdent aux objets connectés à Edge ;
Les méthodes de la première catégorie configurent la visibilité du segment dans le concepteur. En plus de la méthode « Hidden », fournie par la classe « Drawingelement », Edge fournit également les méthodes Smoth et Soft.

Il est important de se rappeler la différence entre une ligne cachée et une ligne “douce”. La ligne douce permet l’union de surfaces adjacentes en une seule surface (généralement incurvée), tandis qu’une ligne cachée ne modifie pas les surfaces adjacentes.

Dans la deuxième catégorie, la méthode « all_connected » renvoie un tableau de tous les objets Entity connectés à Edge. De même, la méthode “faces” renvoie un tableau contenant les objets Face connectés à l’Edge.

Dans SketchUp, les extrémités d’un segment ou d’une arête sont représentées par des objets Vertex. La classe Edge contient un certain nombre de méthodes qui interagissent avec elles :

vertices – Renvoie un tableau des deux objets Vertex d’Edge
début/fin : renvoie les objets de sommet de début/fin d’arête ;
other_vertex – Étant donné l’un des objets Vertex d’Edge, cette méthode renvoie l’autre ; utilisé par? – identifie si un Vertex est connecté à l’Edge ;

line = Sketchup.active_model.entities.add_line [0, 0, 0], [6, 3, 0] 
line.length
new_line = line.split [4, 2, 0]
line.length
line.start.position
line.end.position
new_line.start.position
new_line.end.position

cours sketchup et ruby

Voici le rapport de la rédaction :

Cleared the editor
Running the code...
Done running code. Ruby says: ~ 170 mm
Running the code...
Done running code. Ruby says: ~ 114 mm
Running the code...
Done running code. Ruby says: (0 mm, 0 mm, 0 mm)
Running the code...
Done running code. Ruby says: (101.6 mm, 50.8 mm, 0 mm)
Running the code...
Done running code. Ruby says: ~ 57 mm
Running the code...
Done running code. Ruby says: (152.4 mm, 76.2 mm, 0 mm)
cours sketchup et ruby

La figure 1 montre graphiquement les résultats. L’objet Edge d’origine est divisé, comme on le sait.

cours sketchup et Ruby : Skills


Sur ce lien vous trouverez la documentation sur Sketchup et Ruby, un véritable point de référence pour ceux qui veulent programmer en Ruby avec Sketchup. Nous vous rappellons aussi l’excellent forum dédié indispensable.

Dans les notes suivantes, nous entrerons dans le code en essayant de comprendre comment fonctionnent d’autres entités importantes comme les arcs, les cercles et les polygones.

Écrivez dans les commentaires, faites-moi savoir si vous suivez cette série de notes. Signalez même si nous avons commis quelques erreurs… Nous ne m’en offusquons pas, au contraire, vous me donnez un coup de main pour partager.

Autres articles

La Structure des Coûts dans un Business...
La structure des coûts est une composante essentielle de tout...
Read more
Modèle de Budget Prévisionnel sous Excel avec...
La gestion financière est cruciale pour le succès de toute...
Read more
Modèles de Suivi de Budget dans Excel...
Télécharger 10 Modèles de Suivi de Budget dans Excel GRATUITS...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *