
pingoo666
Membres-
Compteur de contenus
50 -
Inscription
-
Dernière visite
pingoo666's Achievements
Newbie (1/14)
0
Réputation sur la communauté
-
Bonjour, je cherche à faire un lisp pour faire des légendes sur certains blocs, pour faire simple qui affiche les propriétés dynamiques dans un MTEXT avec des champs. Il me faut donc batir un string de ce genre : %<\AcObjProp Object(%<\_ObjId 8796087799584>%).Parameter(1).UserVariable \f "%lu6">% Et je sèche un truc : Le Parameter(1) Je pensais que c'était simplement l'index du paramètre qui est retourné par GetDynamicBlockProperties... Mais en fait non. Sur le dessin de test ci joint on a deux propriétés dynamiques user1 et user3, sachant que j'ai crée et supprimé user2 poour l'exemple. User1 a comme index 1 User3 a comme index 3 Et si on fait un GetDynamicBlockProperties la liste n'a que deux items... Bref je sèche. existe il un moyen d'avoir cet index à partir du nom de la propriété personnalisée ? Merci d'avance
-
Bon, vous êtes tous des grands malades. j'avais commencé à m'enbarqué dans des whiles sans fin... Merci beaucoup !
-
Bonjour, Je cherche à faire une fonction qui prend comme valeur un string et qui retourne la liste de tous les combinaisons ou le espaces seraient remplacés (ou pas) par des sauts de ligne Je sais c'est pas clair... Un exemple : "bonjour a tous" retournera : "bonjour a tous" "bonjour/na tous" "bonjour a/ntous" "bonjour/na/ntous" le /n représentant le saut de ligne. J'espérait pouvoir le faire de manière récursive mais je sèche... Des iddées ? Merci d'avance !
-
Bonjour, Je ne sais pas si cette discussion a sa place ici mais je me lance. Il y a un assez gros projet en lisp que j'aimerais réaliser depuis quelques temps, c'est un programme qui récupére des tuiles géoréférencées sur le net (google, openstreetmaps...), qui les reprojette si besoin et qui les met tout gentiment en xref. J'ai une bonne vision des outils exterieurs à utiliser (gdal pour ne pas le nommer...) mais je pense manquer un peu de connaissance en lisp. Disons que je suis un bon bricoleur mais la c'est un peu plus. Des personnes seraient elles intéressées pour faire ce projet avec moi, sachant que le but est de le mettre à disposition pour tous ! Merci d'avance !
-
Bonjour aux lispeurs, J'aurais besoin de télécharger un fichier sur un serveur internet. j'ai trouvé cette fonction sur un autre forum : (defun L12_GetFileFromURL (url path / utilObj tempPath newPath) ;; © RenderMan 2011, CADTutor.net ;; Example: (download "http(s)://username:password@server/source.ext" (getvar 'dwgprefix)) (vl-load-com) (setq utilObj (vla-get-utility (vla-get-activedocument (vlax-get-acad-object)))) (if (= :vlax-true (vla-isurl utilObj url)) (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-GetRemoteFile (list utilObj url 'tempPath :vlax-true))) (prompt "\n <!> Error Downloading File From URL <!> ") (progn (if (findfile (setq newPath (strcat path (vl-filename-base url) (vl-filename-extension url)))) (vl-file-rename newPath (setq voidPath (strcat (vl-filename-directory newPath) "\\void_" (vl-filename-base newPath) "_" (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD-HH-MM-SS)") (vl-filename-extension newPath))))) (vl-file-copy tempPath newPath) (vl-file-delete tempPath))) (prompt "\n <!> Invalid URL <!> ")) (vl-catch-all-apply 'vlax-release-object (list utilObj)) (princ) ) Elle fonctionne bien sauf dans un cas : le fichier que je dois récupérer n'a pas d'extension et la ca foire, le fichier généré est vide. Une fonction crée par patrick_35 me ressort une erreur dans tous les cas : (defun download (url dir / byte fic file fso http ok tbl taille) (setq http (vlax-create-object "MSXML2.XMLHTTP") fso (vlax-create-object "Scripting.FileSystemObject") file (strcat dir (vl-filename-base url) "2" (vl-filename-extension url) ) ) (vlax-invoke-method http 'open "get" url :vlax-false) (if (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke (list http 'send)) ) (princ (strcat "\nLe lien " url " n'est pas valide.")) (if (eq (vlax-get http 'status) 200) (if (vl-catch-all-error-p (setq taille (vl-catch-all-apply 'vlax-invoke (list http 'getResponseHeader "Content-Length") ) ) ) (princ "\nErreur de lecture sur la taille du fichier.") (if (< (atoi taille) (vlax-get (vlax-invoke fso 'getdrive (substr (vlax-invoke fso 'getabsolutepathname file) 1 1) ) 'freespace ) ) (progn (princ "\nTéléchargement en cours...") (princ) (while (not (eq (vlax-get http 'readystate) 4)) (vla-eval (vlax-get-acad-object) "DoEvents") ) (setq tbl (vlax-safearray->list (vlax-variant-value (vlax-get-property http 'responsebody)) ) ) (if (vl-catch-all-error-p (setq fic (vl-catch-all-apply 'vlax-invoke (list fso 'createtextfile file) ) ) ) (princ (strcat "\nImpossible de créer le fichier " file)) (progn (foreach byte tbl (vlax-invoke fic 'write (vl-list->string (list byte))) ) (vlax-invoke fic 'close) (setq ok T) ) ) ) ) ) (princ (strcat "\n" (vlax-get http 'statustext) "...Erreur " (itoa (vlax-get http 'status)) "." ) ) ) ) (vlax-release-object http) (vlax-release-object fso) ok ) C'est l'erreur "code caractère de la liste incorrect: 4233" Une idée ? Merci d'avance !
-
Lisp et double clic
pingoo666 a répondu à un(e) sujet de pingoo666 dans Pour aller plus loin en LISP
je connais les réacteurs et dans ce cas précis je ne pense pas que ce soit la bonne solution. Pour donner le contexte j'ai crée des blocs aves des propriétés peronnalisées et en cas de double clic autocad ouvre une fenetre de dialogue user friendly. Et en cas de réacteur soit je dois les recontruire à l'ouverture du dessin sois en cas de persistant ca va mettre un bordel monstre en cas de transmission extérieure du dessin. c'est un truc genre (polibec) que je cherchais qui reste cantonné aux utilisateurs de ma société. -
Bonjour, j'aimerai rendre certains de mes lisp plus user friendly et pour se faire il faudrait qu'il puissent s'éxécuter avec un double clic (sur un bloc ou une polyligne). Mais j'ai du mal à comprendre comment faire. Quelqu'un pourrait il me fournir un exemple avec un pitilisp qui récupère le ename de l'objet double cliqué... Merci d'avance !
-
Merci pour la fonction mais je procède déja comme ça. En l'insérant il perd le caractère annotatif. le seul moyen que j'ai trouvé c'est de mettre le bloc dans un autre bloc et d'insérer le second bloc...
-
En fait le bloc que j'insère est un fichier extérieur qui lui a la propriété annotative. Globalement j'ai créé un fichier toto.dwg et je l'ai rendu annotatif et tout. Si je l'insère par les palettes d'outil ou le design center il est annotatif. par contre si je me sers de vla-insertblock là ca coince il perd son annotativité. Comprends pas.
-
Bonjour, J'ai un soucis avec les blocs annotatifs. J'ai crée une fonction pour légender automatiquement des objets (pour les curieux ca met une étiquette tampon/radier sur un regard) et j'ai un soucis : quand je demande à la fonction d'insérer le bloc de légende si il n'est pas dans le dessin, le bloc inséré perd son statut annotatif et donc tout son intéret pour moi (orientation automatique et tout) Existe il un moyen en lisp de changer les propriétés du bloc une fois inséré : le rendre annotatif le rendre orientable selon la vue le rendre inexplosable Merci d'avance !
-
Propriétes de calques des xrefs
pingoo666 a répondu à un(e) sujet de pingoo666 dans Pour aller plus loin en LISP
Merci a tous les deux. Je verrai ca demain mais ces deux fonction ont l'air prometteuses ! J'ai reussi a faire ce que je voualis mais on passe par un visretain et autant d'états de calques que de fenetres ce qui n'est pas très élégant, les solutions proposées ici sont moins "gadget" -
Propriétes de calques des xrefs
pingoo666 a répondu à un(e) sujet de pingoo666 dans Pour aller plus loin en LISP
Bonjour, merci pour ta réponse. Le seul soucis c'est que mes paramètres de visibilité sont gérés dans les fenetres et la ca pète tout... -
Bonjour, J'ai un soucis que je n'arrive pas a résoudre. Je travaille avec des xrefs et assez souvent la couleur ou le type de ligne de d'un calque de l'xref change. Par exemple on imagine que les bordures qui étaient en bleu passent en rouge dans l'xref, et je vousrait que ce soit la même chose dans le fichier de présentation. jusqu'a présent pour modifier ces propriétés dans mon dessins, c'est soit on détache on rattache, soit VISRETAIN, ce qui est un peu lourd, surtout que j'ai souvent des états de visibilité assez alambiqués. J'aimerais donc écrire un lisp permettant de récupérer les données de calque de l'xref et de les utiliser dans mon dessin et c'est sur la partie "récupération des données de l'xref" que je bloque. une idée ? Merci d'avance !
-
Bonjour, Je suis en train de creuser le vaste sujet de l'annotativité sous autocad, et j'ai un soucis avec les lignes de repères multiples. Globalement je dois souvent gérer des dessins avec plusieurs orientations et j'aimerais que le texte de la cote soit toujours horizontal. Toutefois, si j'arrive à laisser horizontal un texte ou un bloc je sèche pour les lignes de repères, en effet le texte reste comme inséré dans l'espace papier. Est ce que je rate un truc ? merci d'avance pour vos réponses et/ou pistes !
-
Bonjour, je suis à la recherche d'une pitite routine permettant de manipuler les fichiers excels. J'ai essayé de trouver mon bonheur en en cherchant dans IXL mais bon le code est trop pointu pour moi (Patrick_35 tu n'es pas humain...). Je ne comprend même pas les étapes :( Personne n'aurait un truc simple qui prend comme argument le chemin du fichier, la feuille, la cellule et qui retourne la valeur ? De même quelque chose qui permet d'écrire dans ce même tableau ? Merci d'avance !