Aller au contenu

Messages recommandés

Posté(e)

Salut.

Après plusieurs années sans Autocad, et sans création de routines sous autocad, j'aurais besoin de vos avis...

 

Est-il possible en VB d'améliorer des polylignes ( ou de créer un nouvel objet fonctionnant comme une polyligne)? Il faudrait que je puisse ajouter des symboles distinctifs en fonction d'un choix de disponible dans les propriétes( carré, rond, triangle, ligne), au milieu de chaque segment de la polyligne, et d'indiquer un texte au dessus du symbole. Avant de ma lancer, et vu que mon cerveau est rouillé, pensez-vous que c'est possible? Avez vous des pistes? Je me souviens qu'on peut créer ses propres style de lignes, mais avec des symboles personnalisés?!?

 

 

 

Merci pour vos avis!

Posté(e)

Oui, on peut faire des symboles personnalisés dans des types de ligne personnalisés.

Oui mais, on ne peut pas mettre ces symboles en milieu de segment. Par ailleurs, ca sera symbole ou texte mais pas l'un au dessus de l'autre.

Il te faut une routine qui passe sur la polyligne est fasse ce que tu veux.

Pour qu'elle se mette à jour, alors tu auras besoin de réacteurs, dispos en Vlisp mais pas en VBA à ma connaissance.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Bonjour,

 

On peut créer ses propres objets personnalisés avec le langage ObjectARX/C++.

Mais c'est inaccessible pour qqun qui n'a jamais développer...

 

Sans partir dans la programmation, il est possible de créer un type de ligne AutoCAD qui génère des symboles sur une polyligne. Pour réaliser ton type de ligne perso, il va falloir t'intéresser à la création d'un fichier LIN.

L’intérêt de cette solution est que c'est simplement de l'AutoCAD, donc pas de soucis de mise à jour, de fonctionnement sur un autre PC, ... Par contre, on ne peut pas mettre un symbole au milieu de chaque segment, les symboles vont se dessiner tout le long de la polyligne.

 

Après, comme l'a précisé [Tramber], il est aussi possible de développer une petite routine qui parcourt les polylignes de ton dessin, ajoute un bloc et un texte (indépendant de la polyligne) sur chaque segment, ...

Pour une mise à jour auto quand tu déplaces la polyligne, il va falloir ajouter un "réacteur" qui va déplacer les blocs et les textes avec la polyligne.

 

Guillaume

AutoCAD, AutoCAD Map3D, AutoCAD Architecture, Revit, COVADIS, InfraWorks 360, ReCap 360, ...

BIM Infrastructure

Posté(e)

Merci pour vos réponses.

 

Après réflexion, le symbole en milieu de segment n'est pas obligatoire, il peut être n'importe où, et le texte n'a pas besoin d'être spécifiquement à côté du symbole. Donc pour çà, il faut que je crée un nouveau style de ligne via le fichier .lin . Mais si je veux diffuser mes documents, le fichier "lin" sera accroché à mon dessin ou il faudra que je l'envoie en même temps?

 

Toujours concernant les styles de lignes, j'avais déjà essayé il y a quelques années, mais impossible de faire un rond remplit comme symbole!

 

Concernant l'ajout d'un texte, si j'ai bien compris c'est faisable en VLISP et en VBA, mais si je veux pouvoir continuer à me servir des réacteur, alors mieux vaut passer en LISP? je demande çà parce que j'ai plus l'habitude du VB (EXCEL). Et est-ce que ce texte peut être modifiable via les propriétés de l'objet crée ? Il s'agit simplement d'une information quantitative. Enfin, est-ce que cette polyligne évoluée sera raccrochée à mes dessins crée? (idem question concernant les lin, les autres utilisateurs pourront se servir de ces objets directement sur le dessin ou bien faudra-t-il que j'envoie un autre fichier en plus du dwg)?

 

désolé pour ces questions, j'ai bien envie de me lancer ( p'tit défi perso), mais je veux bien partir...

 

Merci pour vos avis!!

Posté(e)

Après chargement du fichier LIN, le type de ligne est intégré dans le fichier DWG et il n'est pas nécessaire de faire suivre le fichier LIN avec le fichier DWG. Les autres utilisateurs pourront utiliser ton type de ligne directement.

 

Ensuite, juste pour être clair, l'affectation d'un type de ligne à une polyligne est simplement une action AutoCAD. Il ne s'agit pas d'un nouvel objet, d'une polyligne "évoluée" ou autre chose. Il s'agit simplement d'une polyligne AutoCAD avec un type de ligne personnalisé.

Tu trouveras ci-dessous un aperçu de ce que tu peux obtenir avec un type de ligne personnalisé :

post-38381-0-25423100-1457545101_thumb.png

 

Guillaume

AutoCAD, AutoCAD Map3D, AutoCAD Architecture, Revit, COVADIS, InfraWorks 360, ReCap 360, ...

BIM Infrastructure

Posté(e)

Salut,

 

Quelle que soit la solution par programmation (LISP avec réacteur, VBA avec gestionnaire d'évènement, .NET avec 'overrule' ou même objet personnalisé en ObjectARX), il faudra que le programme soit chargé dans le dessin pour que ça fonctionne donc le fournir en même temps que les dessins...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Toujours concernant les styles de lignes, j'avais déjà essayé il y a quelques années, mais impossible de faire un rond remplit comme symbole!

Si c'est possible. Pas avec MKSHAPE des Express Tools.

Mais en codage pur, c'est possible. Il te faut un bouquin de Serge Camiré.

Je pourrais regarder dans le mien dans quelques jours.

Mais le language SHX est ardu.

Si des types de lignes évolués mais standard (livré comme Zig-zag) sont chargés, tu peux essayer la commande FORMES.

(Qu'on néglige pas mal comme objet d'ailleurs. C'est plus léger et rapide qu'un bloc)

 

Pour Revenir à de la technique un peu puissante, on peut donc faire son propre type de ligne avec ses propres SHX (ne pas oublier d'utiliser etransmit ou de joindre le fichier) et on peut aussi faire un type de ligne avec du texte et les espaces bien gérés. Le tout étant figé dans une définition de multilignes contenant les deux écartées de 0.

Usine à gaz totale mais sans doute possiblement valable pour objet à segments droits. :P

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

merci Lomming pour ta réponse.

 

Pas besoin de transmettre le fichier LIN d'un type de ligne que j'aurais créé c'est déjà çà.

 

Concernant le texte il ne faut pas que çà soit un type de ligne car le texte doit refléter un champs libre à l'utilisateur, qu'il pourrait changer via les propriétés de l'objet, mais pas en fonction d'un style de ligne ( plusieurs style de ligne à créer, et texte infini donc impossible à gérer de cette manière). D'autant plus qu'ensuite, il faut que je puisse récupérer cette information.

 

A moins qu'on puisse programmer un type de ligne avec texte dont le texte sera à la guise de l'utilisateur, mais je doute que çà soit possible en définissant simplement un type de ligne, aussi complexe soit-il.

 

Au boulot on tourne avec Autocad 2012, sans les expresstools....

Posté(e)

Au boulot on tourne avec Autocad 2012, sans les expresstools....

Pas cool.

A moins qu'on puisse programmer un type de ligne avec texte dont le texte sera à la guise de l'utilisateur, mais je doute que çà soit possible en définissant simplement un type de ligne, aussi complexe soit-il.

-TYPLIGNE est la commande en ligne (bien qu'une boite s'ouvre pour confirmer acadiso.lin) qui te permet de créer des types mais sans lettrages.

D'accord.

Mais lisp (et les autres) est tout à fait capable de générer ou modifier du fichier texte, donc du fichier lin.

Donc dans la théorie, il n'y a pas de problèmes de programmation d'un type de ligne avec personnalisation textuelle.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité