
arcuce
Membres-
Compteur de contenus
34 -
Inscription
-
Dernière visite
Tout ce qui a été posté par arcuce
-
script qui s\'arrete a cause d\'une fonction
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
ho j'ai une idée je vais tester ca tous de suite -
script qui s\'arrete a cause d\'une fonction
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
donc je ne peut pas enregistré les plans sous un autre nom car j'ai tester avec (command "_saveas" "" (strcat (getvar "dwgprefix") newName ".dwg") ) (command "SAUVENOM" "" (strcat (getvar "dwgprefix") newName ".dwg") ) (logique puisque ce n'est que la traduction de la fonction) et en vla-saveas le mieux c'est que je note les modif dans un document et que je crée un autre logiciel pour que de ce fichier je modifie tous mes nom de fichier.dwg -
script qui s\'arrete a cause d\'une fonction
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
désolé c'est mieux là ? j'ai simplifier le lisp pour ce concentrer sur le problème donc j'ai mon fichier test.scr qui m'applique a plusieurs plans le lisp contenu dans le fichier monlisp.lsp quand la dernière ligne de mon lisp est présente Autocad ne lance pas le fichier dwg suivant quand elle n' est pas présente autocad le lance PS :le lisp a été tester indépendamment du fichier scr et fonctionne très bien [Edité le 16/6/2011 par arcuce] -
script qui s\'arrete a cause d\'une fonction
arcuce a posté un sujet dans Pour aller plus loin en LISP
bonjour a tous , j'ai un problème (encore) j'ai un script qui en générale fonctionne très bien exemple -=FICHIERS SCRIPTE =- [test.src] FERMER OUVRIR "C:\Users\utilisateur\Desktop\test\source\test1.dwg" ZOOM ET (load "C:\\Users\\utilisateur\\Desktop\\test\\monlisp.lsp") (ROUTINE) FERMER N OUVRIR "C:\Users\utilisateur\Desktop\test\source\test2.dwg" ZOOM ET (load "C:\\Users\\utilisateur\\Desktop\\test\\monlisp.lsp") (ROUTINE) FERMER N OUVRIR "C:\Users\utilisateur\Desktop\test\test3.dwg" ZOOM ET (load "C:\\Users\\utilisateur\\Desktop\\test\\monlisp.lsp") (ROUTINE) QUITTER N ce scripte exécute une fonction lisp " ROUTINE " pour plusieurs plans qui les renome avec des information contenu dans le cartouche -= FICHIER LISP =- [monlisp.lsp] (defun routine () ;Creation du nouveau nom (setq newName (strcat (getvar "dwgname") ".tst")) ;recuperation du dessin (setq thisdrawing (vla-get-activedocument (vlax-get-acad-object))) ;sauvegarde sous ... (vla-saveas thisdrawing (strcat (getvar "dwgprefix") newName ".dwg") acNative) ) -= MON PROBLEME =- quand la ligne : (vla-saveas thisdrawing (strcat (getvar "dwgprefix") newName ".dwg") acNative) est presente le script s'arrete au premier FERMER du fichier "test.src" et quand cette ligne est absente le sripte sexecute jusqu'a la fin une idée ?[Edité le 16/6/2011 par arcuce][Edité le 16/6/2011 par arcuce][Edité le 16/6/2011 par arcuce] [Edité le 16/6/2011 par arcuce] -
desactivation de commande et execution de lisp
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
non pas encore mais merci de mis faire penser , :) -
desactivation de commande et execution de lisp
arcuce a posté un sujet dans Pour aller plus loin en LISP
bonjour , je souhaiterais ajouter a chaqueauverture d'autocad un petit lispqui celon le plan m'execute diver choses bon , j'ai un plan "tartampion.dwg" je peu grace a APPLOAD charger un sript qui me l'identifie mais je voudais quand ce fichier est identifié desactiver la fonction quitter pour la remplacer par un lisp de ma conception et finalement quitter le logiciel, en fait ajouter une etape a la fermeture d'autocad est ce possible ? :exclam: -
fitre sur valeur d\'attribut
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
ok merci je vais voir se que je peut en faire -
bonjour je souhaiterais recuperer un bloc dont la valeur d'un de c'est attribut est 12 j'ai par exemple x block avec dans chaq'un un attribut "numero" qui est differant block 1 no = "1" block 2 no = "2" block 3 no = "3" block 4 no = "4" block ... no = ... block 12 no = "12" est ce que je peut recuperer mon bloc 12 en faisant quelque chose comme (setq ssblock (ssget "_X" '((0 . "ATTRIBUT") (2 . "no") (1 . "12")))) car je voudrais recuperer le numero de maintient
-
parcourir une polyligne pour trouver un bloc
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
merci beaucoup ca faitsexactement ce que je devais faire encore une fois merci -
parcourir une polyligne pour trouver un bloc
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
pour le moment je fais ca : (defun getdiam (ent) (setq entComp (entget ent) p1 (cdr (assoc 10 entComp)) p2 (cdr (assoc 11 entComp)) ) (setq objects (ssget "_F" (list p1 p2))) ) mais il me retourne l'erreur suivante : "erreur: liste de points incorrecte" mes variables contienent: ent = entComp = ((-1 . ) (0 . "LWPOLYLINE") (5 . "3F0A") (102 . "{ACAD_XDICTIONARY") (360 . ) (102 . "}") (330 . ) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbPolyline") (90 . 2) (70 . 128) (43 . 0.0) (38 . 0.0) (39 . 0.0) ( 10 874899.0 160848.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 874863.0 160867.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0)) p1 = (874863.0 160867.0) p2 = nil edit :oups je vien de voir pourquoi : p2 (cdr (assoc 11 entComp)) mais alors commend recuperer le (10 874863.0 160867.0) [Edité le 21/10/2010 par arcuce] -
parcourir une polyligne pour trouver un bloc
arcuce a posté un sujet dans Pour aller plus loin en LISP
bonjour , j'ai comme presenté dans l'image ci-dessous une polyligne et deux blocs un qui represente une fleche l'autre qui me donne le diametre ce que je voudrais c'est parcourir la polyligne pour trouver "si il y est" le bloc qui me donne le diametre, l'autre bloc n'est pas important http://nsa23.casimages.com/img/2010/10/21/101021081953320121.png -
création de gabarit de lien et générer les liens
arcuce a répondu à un(e) sujet de arcuce dans Pour aller plus loin en LISP
bon je vien de trouver une partie de mon probleme donc je vous le poste pour la creation de gabarit de lien (defun CreateLT() (vl-load-com) (setq pDBObj (vla-getinterfaceobject (vlax-get-acad-object) "CAO.DbConnect.16")) (setq pDoc (vla-get-ActiveDocument (vlax-get-acad-object))) (setq pLTs(vlax-invoke-method pDBObj "GetLinkTemplates" pDoc)) (setq pKeyDescs (vla-GetInterfaceObject (vlax-get-acad-object) "CAO.KeyDescriptions.16")) (vlax-invoke-method pKeyDescs "ADD" "NOM_DU_CHAMP_DE_LA_TABLE_A_LIER" 3 nil nil) ; (vlax-invoke-method pLTs "ADD" "NOM_DE_LA_CONNEXION" "NOM_DE_LA_BASE_DE_DONNEE" "dbo" "NOM_DE_LA_TABLE" "NOM_DU_GABARIT_DE_LIENS" pKeyDescs) ) voila il me reste plus qu'a relier mes bloc avec mon gabarit si je trouve je posterais ce que j'ai [Edité le 15/10/2010 par arcuce] -
création de gabarit de lien et générer les liens
arcuce a posté un sujet dans Pour aller plus loin en LISP
bonjour, j'ai besoin de creer des gabarit de lien pour mes bloc et generer les lien ver une base externe sous autocad map je dois le faire en lisp pour rendre la procedure transparante j'ai trouver une doc en pdf de toutes les fonction propre a autocad map mais elle fait plus de 200 pages et toutes en anglais je suis entraint de la lire mais je demande votre aide pour accelerer mes recherches merci -
c'est bon j'ai trouvé, j'etais en opendcl 5.x et a partir de 2011 il faut opendcl 6.x [Edité le 14/10/2010 par arcuce]
-
Bonjour, j'ai un probleme et je ne sais pas d'où il vient, en fait quand j'execute (command "OPENDCL") sous autocad 2010 jai comme retour OPENDCL mais quand je l'execute sous autocad map 2011 en retour j'ai OPENDCL Commande inconnue "OPENDCL". Appuyez sur F1 pour obtenir de l'aide. donc la lib de opendcl ne se charge pas et donc mes commande dcl ne sont pas reconnues Est ce qu'il y a une commande differente entre les version 2010 et 2011 ou entre autocad et map ? merci
-
Bonjour, j'ai un gros probleme il ce peut que vous puissiez y remediez donc: j'ai un fichier creer sou autocad 2010 ce fichier ce le retrograde a une version enterieur (testé avec 2007 et 2004) ce fichier que j'ouvre avec autocad 2009 a un probleme un des type de blocs donc en fait mon bloc "TRUC" est renomer en *U2 qaund je test avec: 2011 mon bloc est TRUC 2010 mon bloc est TRUC 2009 mon bloc est *U2 2004 mon bloc est *U2 ce qui est etrange c'est que d'autre blocs ne sont pas renomer et que *U2 n'apparait pas dans la liste des blocs dispo par contre quand je clique dessus c'est bien un bloc qui apparait
-
merci gile pour ta reponse pour ce que je dois faire je suis obligé de me connecter a un sql server
-
bonjour, je cherche un bon tuto ou de bonne adresse où sont referencés les fonctions pour acceder a une base de données SQL Server (la version 2008 ) en lisp merci
-
ha merci j'y suis depuis 9h ce matin ca marche nikel
-
Bonjour, vous allez me trouver lourd a la fin mais bon ... donc voila mon probleme j'ai plusieurs types de bloc qui porte chacun un nom A, B, C ou D par exemple dans 2 de c'est bloc A et C par exemple j'ai un attribut "toto" certain de mes bloc A et C on deja toto de renseigné je voudrai inserer une valeur dans l'attribut toto dans les bloc A et C ou la l'attribut toto n'est pas renseigné j'ai deja ma valeur de base qui vas s'incremanter au fur et a mesure de l'insertion dans l'attribut de mes bloc je dispose aussi d'un jeu de selection (selection set) des element du dessin je sais parcourir mon jeu de selection et lire les valeur a l'interrieur je voudrai juste modifier l'attribut quand il est vide (repeat (sslength ss) (setq l (entget (setq e (ssname ss (setq i (1+ i)))))) (setq a (entnext e)) (while (= "ATTRIB" (cdr (assoc 0 (setq l (entget (setq e (entnext e))))))) (if (AND (= (cdr (assoc 1 l)) "") (= (cdr (assoc 2 l)) "toto")) (progn (setq AttribMax (+ AttribMax 1)) ;C'est LA que je veux metre AttribMax dans toto ) ) ) ) il me semble que apres avoir modifier mon jeu de selection je mettre a jour le dessin avec ce jeu merci
-
merci je suis sauvé
-
bonjour, j'ai un chtit probleme j'ai des fonctions qui me renvoi des chose par exemple: des chaines de carracteres ou encore des test vrai/faux j'ai commencer a retourner les valeurs avec la fonction (princ) exemple : (defun mafonction () (princ 1) ) _$ (setq mavariable mafonction) donc : mavariable = 1 ca fait ce que je veux mais ca affiche aussi dans la console le 1 alors ce n'est pas genant pour quelque petits test mais si on a des boucle qui tourne 5000 fois ca prend du temp quand ca affiche dans le debug donc ma question est la suivante y a t'il une fonction en lisp qui ne ferait que me renvoyer le resultat sans l'afficher comme le ferait par exemple un return en C/C++ merci
-
ca y est merci jai pu recupperer ce que je voulais
-
voila je met a jour car grace a toi j'ai trouver un indice de ce que je cherche ((-1 . ) (0 . ATTRIB) (330 . ) (5 . 9FA5) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . 0) (62 . 0) (100 . AcDbText) (10 874799.0 160071.0 0.0) (40 . 0.8) (1 . 0) (50 . 2.81776) (41 . 0.9) (51 . 0.0) (7 . TXT_ROMANS) (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . AcDbAttribute) (280 . 0) (2 . DIG_LIENS) (70 . 1) (73 . 0) (74 . 0) (280 . 0)) jai trouver le nom d'un des attribut que je cherche DIG_LIENS me manque plus qu 'a reciperer sa valeur
-
merci pour ta reponse je vais essayer de me diriger dans cette direction