Aller au contenu

Lisps de Patrick_35


Patrick_35

Messages recommandés

Bonjour Patrick_35, (gile), PHILPHIL, ...

j'ai essayé de suivre mais j'ai pas tout compris :mad2:

j'ai téléchargé la nouvelle version de GEF (3.04), petite(s) question(s) :

- La DLL remplace les ARX ?

- Dans quel dossier il faut la mettre ? là ou il y avait les ARX ?

 

merci d'avance pour vos réponses. :cool:

 

Bonne journée à tous.

" 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

Patrick_35,

 

Tu es le meilleur

Oh non, je bidouille encore beaucoup.

 

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

je ne sais pas, le fais : (if gc-vpfreeze ...)

 

PS : tu peux remplacer (vlax-vla-object->ename vie) par (vla-get-ObjectId vie) mais je ne sais pas si c'est d'un grand intérêt...

 

 

salvanorigatore,

 

- La DLL remplace les ARX ?

- Dans quel dossier il faut la mettre ? là ou il y avait les ARX ?

- oui

- dans un dossier des chemin de recherche

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

Lien vers le commentaire
Partager sur d’autres sites

hello patrick gile

 

merci du boulot les gars

 

bon désole mais j'ai des soucis en 64 bits apparement

 

sur gef 3.04 j'ai rajouter ca pensant que ca allait regler mon soucis mais non

 
  (command "_NETLOAD" "vplayerlisp.dll")

 

sinon comme ca ne fonctionne pas j'ai ca en réponse

charabia pour moi

language pour vous ??

 

 Commande: gef
_NETLOAD Nom du fichier d'assemblage: vplayerlisp.dll
Commande: System.MissingMethodException: Méthode introuvable : 'Void 
Autodesk.AutoCAD.DatabaseServices.ObjectId..ctor(Int32)'.
  à VpLayerLisp.LspFuntions.vpFreezeOrThaw(ResultBuffer resbuf, Boolean frz)
  à VpLayerLisp.LspFuntions.VpFreeze(ResultBuffer resbuf)
  à Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object 
commandObject, Boolean bLispFunction)
  à 
Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo
mi, Object commandObject, Boolean bLispFunction)
  à Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.InvokeLisp(); erreur: 
Demande ADS erronée

 

sinon sans connaitre le language c++

est ce que je n'aurais pas interet a télécharger le programme de programation en C++ qui doit etre gratuit je pense fournit par totocad et transformer ca en 64 bits moi meme ??

faut le code source c'est ca heinn

 

a+

phil

 

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je te propose d'essayer avec cette nouvelle DLL

Il semble que le constructeur pour ObjectId que j'utilise pour pouvoir accepter un nombre entier comme argument ait changé.

Avec cette version, le premier argument pour les fonctions LISP ne peut-être qu'un nom d'entité (type ENAME).

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

Lien vers le commentaire
Partager sur d’autres sites

hello tous

 

merci gile patrick

 

cette version de *.DLL fonctionne

 

test sur un fichier 7Mo

24 presentations à 1 fenetre et 1800 calques

pas de soucis rencontre avec AA2010 64 bits

 

juste un petit truc mais ca doit venir du grand nombre de calque ou/et fenetres

 

la mise a jour de la liste des calques a droite qui met 3 4 secondes

 

a+

 

phil :D ;)

 

 

 

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

j'ai un petit problème je viens d'utiliser le lisp "LG"de Patrick qui permet de creér une légende très pratique et de compter les blocs.

 

Depuis que je me suis servis de ce lisp je ne peut plus utiliser des raccourcis de base

ctrl+c et ctrl+v

 

quand je fais ctrl+c il me dit _copyclip etdemande choix des objets ? chose qu'il n'a jamais fait !

je ne peux plus faire glisser un objet d'une fenêtre a une autre ?

 

il y avait une manip aussi en faisant un clic droit sur un bloc par exemple et le copier plusieurs fois avec un point de base. Cette fonction a disparue du menu quand je fais un clic droit

 

Merci de votre aide.

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Patrick

 

Nous utilisons votre routine PAT V1.02 et j'aimerais savoir si vous pouvez la modifier afin que l'enregistrement s'effectue toujours en mode AutoCAD 2004 (AC1018 lorsque le fichier DWG est ouvert dans le notepad)?

 

Pour des raison de compatibilité des dessins nous devons sauvegarder en 2004 même si la majorité des gens utilise la version 2008. J'ai remarqué que même si mon format d'enregistrement par défaut est 2004, la routine PAT 1.02 enregistre quand même en 2008.

 

Merci beaucoup.

 

[Edité le 2/2/2010 par DERMEISTER]

Lien vers le commentaire
Partager sur d’autres sites

Salut DERMEISTER,

 

Je précède Patrick_35, car je me demande si ce problème ne pourrait pas être résolu par cette réponse

 

De cette manière je pense que l'environnement de ton Autocad sera configuré pour sauvegarder systématiquement dans la version souhaitée, quelque soit la commande utilisée (SAVEAS WBLOCK).

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Bon désolé je vais être hors sujet et je sais bien que patrick n'y est pour rien, mais j'ai écris au webmaster qui n'a pas daigné me répondre...

 

En faite ca fait un moment que je souhaite me désabonner de cette discution et quite a passer pour un noob je n'y suis pas parvenus j'ai donc demandé a patrick qui m'a dis qu'il n'etait pas webmaster et ensuite au webmaster...

 

Donc etant toujours sans réponse je solicite la communauté CADXP pour connaitre cette foutue procedure.

 

Merci [Edité le 1/2/2010 par pierricq]

 

[Edité le 1/2/2010 par pierricq]

Lien vers le commentaire
Partager sur d’autres sites

Salut DERMEISTER,

 

Je précède Patrick_35, car je me demande si ce problème ne pourrait pas être résolu par cette réponse

 

De cette manière je pense que l'environnement de ton Autocad sera configuré pour sauvegarder systématiquement dans la version souhaitée, quelque soit la commande utilisée (SAVEAS WBLOCK).

 

Bonjour bonuscad

 

J'avais finalement trouvé une solution, modifier la ligne de la manière suivante:

 

(vla-saveas (car doc) (strcat rep "/" [b]ac2004_dwg[/b] )) 

où ac2004_dwg remplace fic. Ca fonctionne pour le moment, mais je vais investiguer plus en profondeur votre solution qui risque de nous sauver de quelques problèmes.

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

bonjour patrick,

je suis presentement en train de faire un programme afin de classer des blocs par leur point d'insertion.

je dois pouvoir les classer en colonnes et savoir leurs ordre dans les colonnes

voici mon debut de programme, est ce que tu aurais des idees pour effectuer le classement sans perdre le lien entre le point d'insertion et le nom d'entitée.

merci beaucoup pour ton temps et tes programmes

 

 

(DEFUN C:BLOCORD (/ BLOCNAME LISTE LISTE2 JS)

(SETQ BLOCNAME

(CDR (NTH 10 (ENTGET (car (ENTSEL "Sélectionnez un bloc"))))

)

)

(setq JS (ssget "x" (list (CONS 2 BLOCNAME) (CONS 0 "INSERT"))))

(SETQ LISTE (mapcar 'cadr (ssnamex js)))

 

(FOREACH ITEM LISTE

(IF LISTE2

(PROGN

(CONS (CDAR (ENTGET ITEM)) LISTE2)

(CONS (ASSOC 10 (ENTGET ITEM)) LISTE2)

)

)

(PROGN

(SETQ LISTE2 (CDAR (ENTGET ITEM)))

(CONS (ASSOC 10 (ENTGET ITEM)) LISTE2)

)

)

)

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Pour LSTBL, il fait appel à une fonction vba. Il faut donc l'installer ou plus simple, tu as le lisp LSTATT qui fait la même chose, mais en plus, avec la possibilité de différencier ou pas les blocs avec leurs attributs

 

Pour ton lisp

(defun trier_blocs(/ bl lst nom nombl res)

 (defun nombl(bl)
   (if (vlax-property-available-p bl 'effectivename)
     (vla-get-effectivename bl)
     (vla-get-name bl)
   )
 )

 (vl-load-com)
 (and  (setq bl (entsel "\nSélectionnez un bloc : "))
(ssget "x" (list (cons 0 "insert") (cons 2 (strcat "`**," (setq nom (cdr (assoc 2 (entget (car bl)))))))))
   (progn
     (vlax-for bl (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))
(and (eq (nombl bl) nom)
  (setq lst (cons (list bl (vlax-get bl 'insertionpoint)) lst))
)
     )
     (vla-delete sel)
     (setq res (vl-sort lst '(lambda (a b) (> (cadadr a) (cadadr b))))
    res (vl-sort res '(lambda (a b) (< (caadr a) (caadr b))))
     )
   )
 )
 res
)

(setq ma_liste (trier_blocs))

 

@+

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é