[Gmsh] split a line

David Colignon David.Colignon at ulg.ac.be
Thu Apr 2 14:30:17 CEST 2015


Bonjour Jean-Pierre,

la fonction "Boundary"

fait exactement ça, par exemple:

bnd[] = Boundary{ Line {5}; };

https://geuz.org/gmsh/doc/texinfo/gmsh.html#Transformations

Boundary { transform-list }

     (Not a transformation per-se.) Returns the boundary of the elementary entities in transform-list.

Cordialement,

Dave

-- 
David Colignon, Ph.D.
1er Logisticien de Recherche
Université de Liège
ACE - Applied & Computational Electromagnetics
Sart-Tilman B28
10, Grande Traverse
4000 Liège - BELGIQUE
Tél: +32 (0)4 366 37 32
http://www.ulg.ac.be/nic4

On 02/04/15 11:51, jean pierre aubry wrote:
> bonjour
>
> je travaille sur un maillage importé
> j'ai besoin de créer un petit segment de droite en haut d'un assez
> grand nombre de lignes droites j'ai procédé comme ci dessous
>
> si Gmsh avait une fonction "built in" donnant les deux points extrémité
> d'une droite il me suffirait de passer un seul argument à la fonction
> mrp, le numéro de la droite,
> ce serait un petit bonheur !
>
> lrotp=200; // longueur du petit segment
> offp=1000; //offset de la numerotation
>
> //cree une ligne au sommet du poteau
> Function mrp
> 	c0[]=Point{p0};
> 	Point(offp+p0) = {c0[0], c0[1], c0[2]-lrotp, cl__1};
> 	Line(offp+l0)={p0,offp+p0};
> 	Delete {Line{l0};}
> 	Line(l0)={offp+p0,p1};
> 	rotp[]+={offp+l0};
> Return
> //puis de multiples instances de ce type
> Line(82) = {90, 164};
> p0=90; p1=164; l0= 82; Call mrp;
>