-
Compteur de contenus
254 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par willy95
-
Merci beaucoup, cela fonctionne après la modification donnée par Luna et un petit rajout pour récupérer la valeur de l'étiquette "ALT" (car mon point est en 2D avec 0 pour valeur Z) : (setq alt (getpropertyvalue name "ALT")) Je reste un passionné aussi mais qui n'a pas toutes les connaissances requises, je réfléchis énormément, je passe beaucoup de temps à modifier pour y arrivé mais le résultat est tellement plaisant que toute votre aide me fait du bien, alors MERCI beaucoup. Encore Merci...c'est top
-
Bonjour, Tout d'abord un grand Merci Luna pour ta piste de code qui m'aide à aller sur la bonne voie, en revanche je n'obtient qu'un fichier vide et un message d'erreur (type d'argument incorrect: stringp <Nom d'entité: 1f48fb16930>) et j'avoue que j'essaie de modifier à gauche et à droite les lignes de codes sans résultat, je me tape la tête contre les murs. Si quelqu'un peu me comprendre et m'aider à compléter ou corrigé ce code pour qu'il fonctionne. Merci par avance.
-
Bonjour les amis, Je suis a la recherche d'un petit lisp assez simple pour avoir a choisir dans autocad , par selection des points sous forme de "bloc point " TCPOINT et d'exporter les XY et Z (de l'etiquette ALT) dans un fichier au format CSV (Matricule,X,Y,Z). J'ai bien essayer de composé ce code mais je ne suis pas au niveau et donc je vous sollicite pour me filer un coup de main. Ne soyez pas trop brutale dans vos remarques sur mon pseudo code si dessous qui ne fonctionne pas car j'ai vraiment du mal : (defun c:CSV ( / fn in lst ss ) (if (and (setq ss (ssget '((0 . "POINT")))) (setq fn (getfiled "Creation du fichier" "" "csv" 1)) ) (while (< n len_1) (setq xyz1 (nth n lst_r)) (setq t1 (strcat (rtos (car xyz1))" "(rtos (cadr xyz1))" "(rtos (caddr xyz1)))) (write-line t1 f1) (setq n (+ n 1)) ) ) (princ) ) En vous remerciant par avance.
-
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Génial ! ça fonctionne 🙂 (setq nomnuage (getfiled "Choisir la position" "C:/" "rcs" 8)) (command "_ucs" "_world" "_-pointcloudattach" nomnuage "_non" '(0 0 33.82) 1 0 "_ucs" "_previous") Merci encore pour vos aides précieuses -
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Super, MERCI Gile, cette dernière ligne fonctionne et insert le nuage dans le scu General en etant dans un scu objet/vue. Il me reste plus qu'a trouver une solution pour avoir un invité de commande qui nous demande de choisir un fichier dans une boite de dialogue plutot que d'imposer un nom.rcs. Merci encore. -
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Effectivement avec cette ligne ci-dessous, il insert quand meme le nuage dans le scu objet/vue au lieu d'etre inserer dans le scu général (quand je suis dans le scu objet/vue) (command "_-pointcloudattach" "C:\\monnuage.rcs" "_non" (trans '(0 0 0) 0 1) 1 0) Je ne vois pas ce que je fais de mal 😞 -
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
le point d'insertion du nuage qui doit-etre en 0,0,0 dans le scu general 😞 -
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Petite avancée grâce a vous, car je n'ai plus la boite de dialogue qui me demande les coordonnées (c'est un très bon début). Mais il m'insère le nuage quand même dans le SC LOCAL et pas General 😞 (command "_-pointcloudattach" "C:\\Q100.rcs" "_non" (trans '(0 0 0) 0 1) 1 0) -
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Je comprends l'idée mais je n'arrive pas à appliquer la moindre ligne de code pour faire inserer mon nuage en SCG étant dans SCU, la commande d'insertion du nuage m'impose de lui rentrer des coordonnées qui saborde tout et donc je dois a chaque fois revenir en SCG et retourner en SCU 😞 -
Insertion d'un Nuage de Point dans le SCU Général
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Merci pour ta piste mais j'ai vraiment du mal à intégrer cette nouvelle fonction dans ma ligne de commande : (command ".PointCloudAttach" "0,0,0" "~") Comment puis-je faire ? SVP -
Bonjour à toutes et à tous, J'utilise beaucoup de Nuage de Points de Autocad et j'aimerai pouvoir insérer une seule position (fichier RCS) dans mon dessin au fur et à mesure de mon avancement. Je peux bien sur le faire par la commande PointCloudAttach, mais je suis obligé de revenir en SCU général à chaque insertion alors que je travail dans un SCU objet puis un SCU Vue. J'ai bien essayer sans résultat d'intégrer cette volonté dans un lisp mais sans résultat, mon problème étant sur l'insertion du nuage en SCU Général étant dans un SCU Local. Quelqu'un pourrait m'aider sur ce sujet afin de me faciliter un peu la vie car j'ai beaucoup de position à mettre une par une sans avoir toutes les positions actives dans Autocad. Merci par avance.
-
Bonjour à tous, Quelle ligne de code dois-je écrire pour selectionner directement un objet (un nuage de point) au lieu d'un calque comme indiqué dans ma ligne ci dessous ? (ssget "_X" '((8 . "nuage"))) Merci à vous
-
Merci beaucoup, je ne savais pas que cette commande prenais en compte l'étoile pour tous les selectionner, merci Olivier c'est au top
-
Bonjour à tous, Bien que j'ai chercher et rien trouver de correspondant exactement à mon besoin, je viens vous demander si quelqu'un aurait un code pour rajouter un préfixe (d'une ou deux lettres) devant tous les noms de blocs se trouvant dans un dessin sans même les sélectionner ? Merci par avance pour votre aide précieuse.
-
Validé et conservé la valeur précedente
willy95 a répondu à un(e) sujet de willy95 dans Débuter en LISP
Merci Beaucoup VDH-Bruno, cette formulation fonctionne à Merveille ! Merci aussi pour m'avoir compris dans ma question difficile à poser :) -
Bonjour à tous, Comment dois-je écrire mes lignes de codes pour que : Quand je valide à la 2eme fois à la question "Saisir le Z du sol" qu'il prennent en compte la valeur que j'aurais saisie a la 1er fois ? (if (= Zsol nil ) (setq Zsol 0.00 )) (setq Zsol (GetReal (StrCat "\nSaisir le Z du Sol : <" (Rtos Zsol 2 2) "> : "))) Exemple : Saisir le Z du Sol <0.00> : (je reponds 8.31) je relance le code : Saisir le Z du Sol <8.31> : (je valide pour conservé la valeur ) Merci pour votre aide
-
Merci Luna pour ta réponse qui me donne de quoi méditer sur les choses étranges que j'intègre dans mes pseudo codes, mais bon j'ai enfin réussi à le faire fonctionner grâce à la réflexion de chacune de vos réponses et principalement à Tramber qui m'avait bien dit de mettre "C" au début. (defun c:rotobj (/ p1 p2 p3 p4) (setq SELEC1 (ssget)) (setq p1 (getpoint "\nSaisir le 1er point de l'objet a rotationner : ")) (setq p2 (getpoint "\nSaisir le 2eme point de l'objet a rotationner : ")) (setq p3 (getpoint "\nSaisir le 3eme point -> 1er de la reference de rotation : ")) (setq p4 (getpoint "\nSaisir le 4eme point -> 2eme de la reference de rotation : ")) (command "_rotate" SELEC1 "" p1 "_R" p1 p2 "_P" p3 p4) )
-
Merci pour vos premières pistes, mais rien de fonctionne, je ne comprends pas pourquoi :( (command "_rotate" SELEC1 p1 "C" "R" !Ang12 !Ang34 )
-
Bonjour à tous, Afin d'utiliser la commande rotation avec une référence d'angle de départ et une autre référence d'arrivé, j'utilise la commande rotation mais je passe mon temps à cliquer sur R puis P bien trop souvent, alors j'aimerai bien mettre tous ça dans un petit code pour me simplifié cette répétition qui devient insupportable. Mais je ne comprends pas pourquoi la commande "C" n'est donc pas reconnue ! Si quelqu'un peut m'expliquer à résoudre mon problème se serait vraiment sympa. (defun c:rotobj (/ Ang12a Ang12 Ang34a Ang34 p1 p2 p3 p4) (setq SELEC1 (ssget)) (setq p1 (getpoint "\nSaisir le 1er point de l'objet a rotationner : ")) (setq p2 (getpoint "\nSaisir le 2eme point de l'objet a rotationner : ")) (setq Ang12a (angle p1 p2) ) (setq Ang12 (angtos Ang12a 2 4)) (setq p3 (getpoint "\nSaisir le 3eme point -> 1er de la reference de rotation : ")) (setq p4 (getpoint "\nSaisir le 4eme point -> 2eme de la reference de rotation : ")) (setq Ang34a (angle p3 p4) ) (setq Ang34 (angtos Ang34a 2 4)) (command "_rotate" SELEC1 "" p1 "R" !Ang12 "C" !Ang34 ) ;(command "_rotate" SELEC1 "" p1 "R" p1 p2 "" "C" p3 p4 ) )
-
Merci Beaucoup, effectivement cela marche à merveille, je vais pouvoir analyser ces lignes pour modifier des objets AutoCAD via leurs données DXF, car cela peu me servir dans d'autre cas. Au top du top et merci pour votre temps passé à me lire, comprendre mes problématiques et vos réponses instructives. Merci
-
Ah ok, merci beaucoup pour ces deux dernières explications, en fait Gile à créer une nouvelle fonction qui s'utilise directement avec des options dans l'invité de commande. Encore merci, je vais pouvoir intégrer ces lignes de code et voir si cela fonctionne comme j'en ai besoin.
-
Même si je comprends les étapes comme indiqué à chaque ligne, j'ai essayer de compléter mes anciens et nouveaux préfixes, sans résultat, j'ai essayer de remplacer les "variables" par des valeurs, sans résultat, j'ai peu-être pas complété quelque chose, je ne suis pas assez compétent dans le domaine pour comprendre encore suffisamment les subtilisées de toutes ces imbrications de fonctions que je ne maîtrise vraiment pas. Donc, je vais relire, re-tester, même laisser un peu de temps pour y réfléchir et comprendre un peu plus ces lignes que je vais maltraitées dans tous les sens et elles finiront bien par me donner un résultat satisfaisant. Merci beaucoup pour vos réponse et votre temps passé.
-
Je souhaite uniquement modifier et toujours que les 3 premiers caractères.
-
Merci pour vos lectures et réponses que vous m'accordez, je cherche effectivement une solution assez simple pour intégrer quelques lignes dans un lisp pour transformer plusieurs types de calques en d'autre, en clair : J'ai par exemple des calques qui se nomment : AAA-1, AAA-2, AAA-3,BBB-4,BBB-6,CCC-8,CCC-9 et je souhaite suivant le choix prélable de mon lisp tous les changer en DDD-1,DDD-2,DDD3,DDD-4,DDD6,DDD8,DDD-9. J'avoue ne pas etre assez calé pour pouvoir ecrire ce code correctement avec les fonctions (entmod) (subst) que tu m'a indiqué alors une bonne partie de solution me serai bien utile :)
-
Petite précision : Dans la boite de dialogue cela fonction bien avec * mais pas dans la commande texte que je souhaite intégrer dans un lisp
