Aller au contenu

Lisps de Patrick_35


Patrick_35

Messages recommandés

Hello

 

Je pensais resoudre mon probleme avec RINS mais non malheureusement :o

 

J'ai souvent des dessins avec des blocs debiles par exemple en terme de point d'insertion !

MAIS graphiquement le bloc/symbole est BIEN place !

 

Donc j'ai besoin d'une routine qui permette en selectionnant UN bloc

de redefinir un nouveau point d'insertion XYZ

 

La routine analyse le vecteur 3D entre les 2 points et realise une translation/rotation 2D/3D pour calculer les nouveaux parametres d'insertion (XYZ, Rotation, etc) pour mettre a jour TOUTES les insertions du bloc dans le dessin avec la nouvelle definition du bloc (dont en fait SEUL le point d'Insertion a change)

 

Voyez vous ce que je veux dire !?

 

Dans l'attente de vos solutions, Le Crabe vous remercie d'avance

 

PS: en fait RINS marche sur les blocs a l'horizontal !

mais les blocs non ortho se deplacent !

 

 

 

 

[Edité le 30/10/2009 par lecrabe]

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

tout d'abord bravo pour tout ce travail abattu!

 

La routine IXL m'a particulièrement séduit, et je me demandais si il serait possible d'insérer des blocs dynamiques selon tel ou tel paramètre de visibilté??

N'y connaissant rien en LISP, je m'en remet à votre savoir...

 

Ce qui m'amène à ma deuxième question. Je souhaiterais apprendre le langage LISP, existe t'il un ouvrage qui vous à guidé? (il semble y avoir beaucoup de chose sur le net et notamment sur ce forum, mais je préfère avoir un support papier).

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

lecrabe

Ce n'est pas logique. Normalement RINS doit fonctionner sur n'importe quel type de bloc

Tu as un exemple ?

 

Bortch59

IXL n'est pas prévu pour les blocs dynamiques.

Pour ta 2em question, avec un bouquin autolisp de la V14, chose rare à dénivher maintenant

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonjour !!

 

Tout d'abord félicitation pour ce travail et merci de le partager. Je cherchai une astuce pour replacer le point d'insertion d'un bloc dans le graphisme de ce dernier et je suis tombé sur ce topic

je me suis donc intéressé à la routine RINS et je vois que c'est un sujet d'actualité entre Le Crabe et Patrick_35

 

Voilà le retour de mon utilisation :

 

Super méga génial j'adore mais (et oui il y a un mais) j'ai remarqué des cas ou cela fonctionne mal

cas 1 : le bloc a subit une rotation

cas 2 : le bloc a subit un miroir (la propriété échelle X du bloc passe de 1 à -1)

 

dans les deux cas, une fois RINS appliqué le graphisme du bloc est déplacer non pas vers son point d'insertion initial mais vers un autre endroit.

 

Patrick_35 j'espère que mes informations pourront vous aidez à améliorer cette routine.

En tous cas je le souhaite ardemment

 

Dans l'espoir d'une mise à jour de RINS je vous salut !!

 

Lien vers le commentaire
Partager sur d’autres sites

Vous avez la dernière version ? (V3.00)

Car effectivement, il y avait un soucis concernant les blocs avec rotation.

Et merci du retour pour les blocs miroités.

Ils ne restent pas en place.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Bonjour à toutes et tous,

 

Salut Patrick_35,

 

J'étais en train de regarder tes dernières mises à jour et je me posais la question sur la routine[surligneur] "Rech " [/surligneur] .

 

A quoi sert le DCL ?

 

Je n'ai que des infos en ligne de commande ?

 

Texte à rechercher : A3-1/100

Texte n° 1 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 2 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 3 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 4 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 5 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 6 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 7 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 8 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

Texte n° 9 trouvé A3-1/100 (Zoom/Suivant) :

Commande:

 

En ouvrant la dcl, je crois comprendre que l'on peut faire également des choix de textes, attributs, tableaux, xrefs et ce, dans les différents espaces.

 

Qu'ais-je raté ?

 

Merci d'avance,

:P

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Patrick_35,

puisque on parle de ton lisp RECH j'ai une petite demande :

j'ai remarque que la recherche avec ce lisp ne peut se faire que sur l'intégralité d'une phrase et non sur une partie seulement (un texte dans un phrase).

[surligneur]Je m'explique : si je cherche "bureau 24" mais que le texte intégral c'est "bureau 24 b25" il sort de la fonction sans avoir rien trouvé[/surligneur] (et sans aucun message d'ailleurs...)

Est-il possible de faire en sorte que ton lisp puisse chercher un mot dans une phrase?

Merci par avance.

" Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres "

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Oui, en utilisant les caractères spéciaux comme *, #, etc...

 

Extrait de l'aide (fonction autolisp wcmatch)

Wild-card characters

 

Character Definition

# (pound) Matches any single numeric digit.

@ (at) Matches any single alphabetic character.

. (period) Matches any single nonalphanumeric character.

* (asterisk) Matches any character sequence, including an empty one, and it can be used anywhere in the search pattern: at the beginning, middle, or end.

? (question mark) Matches any single character.

~ (tilde) If it is the first character in the pattern, it matches anything except the pattern.

[...] Matches any one of the characters enclosed.

[~...] Matches any single character not enclosed.

- (hyphen) Used inside brackets to specify a range for a single character.

, (comma) Separates two patterns.

` (reverse quote) Escapes special characters (reads next character literally).

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

re,

merci beaucoup :cool:

 

juste une petite chose : comme je ne suis pas très alaise avec la langue de Shakespeare, aurais-tu la traduction française ?

merci d'avance, sinon ça ne fait rien.

A +

" Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres "

Lien vers le commentaire
Partager sur d’autres sites

Une traduction via Google

Wild-card caractères

 

Caractère Définition

# (Dièse) Correspond à n'importe quel chiffre unique numérique.

@ (At) Correspond à tout caractère alphabétique.

. (période) Correspond à tout caractère non alphanumérique unique.

* (Astérisque) Correspond à toute séquence de caractères, y compris si c'est vide, et il peut être utilisé n'importe où dans le caractère de recherche: au début, milieu ou fin.

? (question mark) Correspond à n'importe quel caractère unique.

~ (Tilde) Si elle est le premier caractère dans la recherche, tout sauf le caractère spécifié.

[...] Correspond à l'un des caractères entre crochets.

[~...] Correspond à un caractère isolé, non clos.

- (Tiret) L'intérieur de crochets utilisés pour spécifier une plage d'un seul caractère.

, (Virgule) Sépare deux modèles.

`(Quote inverse) Caractères spéciaux Escapes (lit caractère suivant littéralement).

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

HELLO PATRICK

 

petit souci avec GEF 3.03 sur AA2010

 

avec AA2009 il me semble que les modifications dans les fenetres n'engendrait pas une regeneration de chaques presentations NON ??

 

avec AA2010 je vois defiler toutes présentations la ou je demande une modification de calque

 

est ce que ca vient des fichiers *.ARX qui fonctionnement differement ?

ou d'une option / parametre qui a changer ?

 

pour AA2011 a venir les *.arx ne macheront pas aussi

peut on récupérer le fichier de base pour etre sur de pouvoir créer son *.arx pour chaque version a venir

 

bonne année

à l'année prochaine

 

phil

 

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Un fichier Arx est un fichier compilé, on ne peut pas le modifier.

Il faut repartir du fichier source (C++) et recompiler.

 

Les Arx sont compatibles pour toutes les versions correspondant au même format DWG (compatibilité binaire)

Arx 16 : 2004 2005 2006

Arx 17 : 2007 2008 2009

Arx 18 : 2010 et très probablement 2011 et 2012

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

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Le zip de GEF contient CprArx18.arx pour les versions 2010.

Donc, si le lisp passe en revu les présentations, c'est qu'il n'a pasx trouvé cet arx.

 

Comme (gile) a répondu à la question et s'il a un peu de temps, ce serait bien de transformer cet arx en dll ;)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

hello

 

patrick gile

 

ici j'avais modifie le lisp, car il ne trouvait pas CprArx18.arx

pensant avoir reussi car pas d'erreur constatées sur la ligne de commande

mais en fait patrick tu me dis que l'ARX na pas été trouvé donc .

car je vois defiler toutes les presentations .

 

vous avez le meme probleme ?

 

http://www.cadxp.com/sujetXForum-25901.htm

 

a+ bonne année a tousss

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

CprArx18.arx vient de ce message

Pour vérifier qu'il fonctionne bien, tu fais au clavier la commande arx, puis L pour load et tu vas rechercher le fichier.

Si tout se passe bien, tu n'as pas de message d'erreur.

Pour vérifier que l'arx est bien chargé, tu fais sur la ligne de commande arx puis ? et tu dois retrouver l'arx dans la liste proposée.

Si le fichier plante car tu es sur une version 64 bits, addresse-toi à son auteur car je suis en 2009 version 32

 

mais en fait patrick tu me dis que l'ARX na pas été trouvé donc .

car je vois defiler toutes les presentations .

Oui

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

merci j'ai maintenant ma réponse

il n'est pas compatible en 64bits apparement

 

par contre pour le lien que tu viens de donner oupsss c'est rappé d'avance

l'anglais et moi ca fait 4 ( en bon francais qui ne sait pas mettre deux mots d'anglais a suivre )

 

on ferat sans

 

a+

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

s'il a un peu de temps, ce serait bien de transformer cet arx en dll

 

Comme j'ai vu que tu n'utilisais que crpvpfreeze et crpvpthaw, je me suis contenté d'implémenter ces deux fonctions (renommées gc-vpFreeze et gc-vpThaw).

Ça devrait fonctionner sur toutes les version à partir de 2007 (la classe LispFunction n'existait pas avant cette version)

 

gc-VpFreeze pour geler des calques dans une fenêtre de présentation

gc-VpThaw pour dégeler des calques dans une fenêtre de présentation

Les deux fonctions retournent T si l'opération s'est passée sans erreur, nil autrement (un message d'erreur est affiché sur la ligne de commande, je ne sais pas en afficher dans l'éditeur vlisp)

 

Arguments:

- le nom d'entité (ENAME) ou l'ObjectId (INT) de la fenêtre

- un nom de calque (STR) ou une liste de noms de calques (LIST)

Exemples d'utilisation

(setq vp (car (entsel)) vlvp (vlax-ename->vla-object vp))
(gc-vpfreeze vp "Calque1")
(gc-vpthaw (vla-get-ObjectId vlvp) '("Calque1" "Calque2"))

 

Tu trouveras la DLL et le code ici.

 

PS : Si tu veux, on peut essayer d'en implémenter d'autres, ça serait un exercice concret en .NET...

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

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Merci (gile) :thumbup:

Tu es le meilleur :D

 

J'ai testé et approuvé ta dll.

 

Le lisp est modifié suivant la dll

 

Il va vraiment falloir que je m'y mette.

J'ai tout installé, c'est juste le temps qui manque :(

 

PS : Si tu veux, on peut essayer d'en implémenter d'autres, ça serait un exercice concret en .NET...

why not, c'est l'occasion qui fait le larron ;)

 

ps : comment évaluer la version d'une dll autement que par une fonction ?

 

pps : PHILPHIL, tu peux tester la nouvelle version (3.04) voir si ça fonctionne avec un 64 bits ?

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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é