Décrypter les fichiers de formes SHP

Bonjour,

Je fais appel à vous concernant la création de symbole/forme pour la création de type de lignes.

AutoCAD nous offre avec le fichier ltypeshp.shx les symboles suivants :
TRACK1, ZIG, BOX, CIRC1, BAT et AMZIGZAG.

Ci-dessous le fichier ltypeshp.SHP que j’avais avec ma vieille version 2002 :

;;;
; (C) Copyright 1997 by Autodesk, Inc.
;;;  ltypeshp.SHP - shapes for complex linetypes
;;;

*130,6,TRACK1
014,002,01C,001,01C,0

*131,3,ZIG
012,01E,0

*132,6,BOX
014,020,02C,028,014,0

*133,4,CIRC1
10,1,-040,0

*134,6,BAT
025,10,2,-044,02B,0

*135,14,AMZIGZAG
9,(108,0),(15,56),(30,-112),(15,56),(107,0),(0,0),0

J’ai voulu me repencher sur la création de SHP puis la compilation en SHX.

  • Pour la création de SHP sur AutoCAD (pas besoin de MAP) on peut utiliser la commande MKSHAPE
  • Pour la compilation en SHX il y a la commande COMPILER

Un fichier Test-LineType.LIN :

*TestSYMB1,Pour le tracé de gaine
A,0.1,[SYMB1,TestSymbole,.shx,s=1],-0.1

Un fichier TestSymbole.SHP (généré par IA et corrigé pour la longueur de la référence)

*1,36,SYMB1
22,001,9,(10,10),(0,0),002,9,(-10,-10),(0,0),001,9,(10,-10),(0,0),002,9,(-10,10),(0,0),001,9,(10,0),(0,0),002,9,(-10,0),0

Pensant avoir compris le système du SHP :
* identifiant, longueur de la référence, nom du symbole
suite de codes pour dessiner la forme/symbole.

\*shapenumber,defbytes,shapename
specbyte1,specbyte2,specbyte3,....0

J’ai bien demandé à une IA (Gemini, ChatGPT, Perplexity, etc…) mais celles-ci ne comprennent pas le concept et oublie même le sens de « longueur de la référence » et évidemment les SHP générés ne sont pas exploitables.

Seriez vous me dire où je pourrais trouver les explications sur le SHP.
Evidemment j’ai cherché sur internet mais les références ne sont pas assez fournies pour que je puisse l’exploiter.
Même dans mon manuel AutoCAD 2002 (le gris), je n’ai pas cette section.

Hello @BIM-G-CO

SVP tu vois vers la page 34 de ce bon vieux PDF « ACAD_2005_Customization_Guide_US » !

J espere que tu lis un peu le US/English !?

Bye, Pat

ACAD_2005_Customization_Guide_US.pdf (2,2 Mo)

Hello @BIM-G-CO

Sinon SVP tu desires avoir quel de type de ligne complexe !?

Car j ai du stock … Voici qq exemples …

Bye, Pat

ACADISO__Demo__Patrice__2011.pdf (282,8 Ko)

Bonjour et merci @braudpatrice, c’est l’appendice B à partir de la page 153 qui m’a été utile.

version traduite par ChatGPT de l’appendice B (sans les images)
Guide_Customization_AutoCAD_2005_Appendice_B_FR.pdf (130,8 Ko)

Par exemple, j’essaie de réaliser un type de ligne « gaine de ventilation » qui en CELTSCALE=1 dessine 3 lignes parallèles (une à +0.5 en Y, une à -0.5 en Y et la centrale avec un aspect de trait d’axe).

Oui tout le monde m’a sorti : c’est impossible.

Pouvoir dessiner une gaine de ventilation (rigide) en une seule polyligne :

  • où son échelle de type de ligne détermine son diamètre/section (pas trop compliqué à récupérer en LISP)
  • où on obtient facilement la longueur (longueur de la polyligne) (facile en LISP)
  • où pour les « pas-intéressés-par-faire-plans » un seul bouton, une seule polyligne c’est plus simple. (facile pour les humains non projeteurs)

Je fais utiliser « TRACK1 » pour les gaines de ventilation souple (j’ai créé un style de ligne au petits oignons) :

*Gaine-Souple,Pour les gaines souples
A,0.15,[TRACK1,ltypeshp.shx,s=0.5],0.15

Pour faire des coudes sympas, je préconise 2x Diamètre

Hello @BIM-G-CO

EXACT, les pages 15x-16x sont tres interessantes …

Dans mon message precedent, j ai rajoute qq exemples « perso ou pas » de types de lignes speciaux

Bonne fin de semaine, Bye, Pat

PS: ne pas hesiter a demander des .LIN / .PAT / .LSP / etc …