Aller au contenu

Lisps de gile


(gile)

Messages recommandés

hello gile

 

je test ton lisp soustrac

 

d'apres ta description du lisp , si je comprend

il devrait faire la soustraction de solides 3d comme la commande "soustraction" d'autocad mais en gardant une copie des objets de base qui ont servi creer un solide plus complexe

 

c'est ca ??

 

t'inquiete, je ne veux pas réinventer inventor dans autocad

 

merci

 

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

Bjr,

 

Je me permets de te répondre (gile) n'étant pas là ...

Le lisp Soustrac permet de garder indépendant deux solides

auxquels tu soustrais un troisième qui serait en commun par exemple, PAS d'union qui en résulte

Avec soustraction d'AutoCAD, les solides ne seraient devenu qu'un !

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

J'ai modifié SOUSTRAC : on peut désormais conserver ou supprimer (défaut) les objets soustraits en changeant la valeur de la variable DELSUB.

0 -> les objets sont conservés

1 -> les objets sont supprimés

 

J'ai ajouté MSFREEZE qui est amenée à remplacer GELOBJ

 

J'ai remplacé CHOOSEBOX par OPTIONBOX et LISBOX dans Dialog.lsp

 

Le ZIP "La totale" est lis à jour en conséquence.

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
  • 2 mois après...

Salut,

 

Nouvelles versions de TOTALAREA et TOTALPERIM.

Le nombre de décimales conservées dans l'attribut est gérée par une variable système (AreaPrec et PerimPrec).

Un fichier d'aide est accessible depuis les boites de dialogue AreaBox et PerimBox.

 

Décompresser le ZIP dans un répertoire du chemin de recherche et charger automatiquement le(s) LISP au démarrage (pour activer les réacteurs).

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Salut,

 

Suite à une discussion sur TheSwamp, j'ai corrigé quelques routines (RefGeom et RevRefGeom) du fichier Vecteurs&Matrices.lsp

 

Ces routine ne prenaient pas en compte les modifications ayant pu être apportées aux points de base des références (bloc ou xref), c'est le cas désormais.

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

Lien vers le commentaire
Partager sur d’autres sites

hello gile

 

ton LISp c:ppl c:cpl (cleanpline) est bien utile pour les polylignes

penses tu qu'il soit facilement modifiable pour ce genre d'entite ??

 

c'est une surface AEC de autodesk architecture

avec des points formant des lignes colineaires

ou un petit nettoyage serait le bien venue

histoire d'aleger la gestion

 

si possible facilement bien sur et sans trop de boulot

 

merci

 

phil

 

nettoyé

 

[Edité le 24/2/2009 par PHILPHIL]

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

ton LISp c:ppl c:cpl (cleanpline) est bien utile pour les polylignes

penses tu qu'il soit facilement modifiable pour ce genre d'entite ??

 

Facilement, je ne suis pas sûr...

PPL et CPL sont assez complexes et spécifiquement adaptés aux polylignes (gestion des arcs et largeurs).

 

De toutes façons je n'ai pas AutoCAD Architecture, donc je n'ai pas accès aux objets AEC.

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

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
  • 2 semaines après...

Gile,

 

J’utilise souvent ton LISP :AC2PG

Qui permet de "Transforme un arc ou un cercle en polygone."

 

J’arrive à un dessin ou je remarque que j'ai au moins 2000 arc à transformer en polyligne.

Le lisp permet de le faire 1 par 1.

Ce qui est tout à fait normal vu qu'on ne veut pas forcement avoir un même nombre de segment.

 

Si ce n'est pas trop de travail, penses tu qu'il est possible de modifier le lisp pour qu'on puisse choisir plusieurs ARC et transformer avec un même nombre de segment.

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

J'ai remplacé ac2pg par Arc2seg plus complet (voir ici et )

Arc2Seg accepte les jeux de sélection, traite les arcs les cercles et les arc des polylignes, propose de conserver ou de supprimer les objets source, de créer les nouveaux objets sur le calque courant ou celui de l'objet sourece. Les données étendues (XDatas) ainsi que les données d'objet (MAP) sont copiées dans la nouvelle polyligne.

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour Gile

 

Je suis un inconditionnel de Edit-bloc que j'utilise trés souvent, c'est pourquoi

je voudrais te soumettre 2 remarques:

 

- peut-on laisser la possibilité de gerer le style de texte (pour les textes et textmult) à l'interieur des blocs

 

- peut-on laisser la possibilité d'affecter une couleur particulière pour les hachures contenu

dans les blocs

 

que penses-tu de ces suggestions ?

 

a+

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Salut Gile !

Juste une petite chose... Pourrais-tu indiquer dans l'explication de chacun de tes lisps lesquels sont en VLISP (ou qui utilisent les fonctions autres que celles de base et les VL-..., puisque les VL- sont disponibles depuis que tu les as toutes retranscrites :heartpump: ), et les autres ?

Je me doute que cela ne peut servir qu'à des gens qui n'ont pas AutoCAD, soit 0.02% des utilisateurs de ce forum... Et je comprendrais que cela te demande trop de boulot par rapport au coté pratique du résultat...

;) [Edité le 23/4/2009 par Matt666]

 

[Edité le 12/12/2010 par Matt666]

"Chacun compte pour un, et nul ne compte pour plus d'un."

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Gile, merci beaucoup pour ton lisp pour incrémenter les blocs attribut il est super intéressant.

Est il possible de le faire évoluer en faisant une fenêtre de sélection ou de prendre tous les blocs attribut existant au lieu de faire une sélection 1 par 1.J'ai environ 5000 blocs à incrémenter

(exemple : FT01...FT5000)

Je te remercie d'avance pour ta réponse.

 

:)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Le problème d'une incrémentation sur un jeu de sélection est que l'utilisateur perd le contrôle de l'ordre d'incémentation.

 

Voilà un exemple, l'utilisateur choisit l'attribut source, entre la valeur à incrémenter (qui doit se terminer par un chiffre) et sélectionne les blocs (ou Entrée,Espace ou clic droit pour "tous").

Les attributs sont incrémentés par ordre de création des blocs.

 

(defun c:incss (/ att elst inc tag ss n blk)
 (if
   (and
     (setq att
     (car (nentsel "\nSélectionnez l'attribut à incrémenter: "))
     )
     (setq elst (entget att))
     (= "ATTRIB" (cdr (assoc 0 elst)))
     (setq inc (getstring T "\nEntrez la valeur de départ: "))
     (setq tag (cdr (assoc 2 elst)))
     (princ "\nSélectionnez les blocs ou : ")
     (or (setq
    ss (ssget (list '(0 . "INSERT")
		    (assoc 2 (entget (cdr (assoc 330 elst))))
	      )
       )
  )
  (setq
    ss (ssget "_X"
	      (list '(0 . "INSERT")
		    (assoc 2 (entget (cdr (assoc 330 elst))))
	      )
       )
  )
     )
     (setq n 0)
   )
    (repeat (setq n (sslength ss))
     (SetAttValue (ssname ss (setq n (1- n))) tag inc)
     (setq inc (incsuff inc 1 1))
   )
 )
 (princ)
)


;;; SetAttValue (gile)
;;; Attribue une valeur de un attribut
;;;
;;; Arguments
;;; blk : le nom d'entité du bloc
;;; tag : le nom de l'étiquette de l'attribut
;;; val : la valeur à attribuer

(defun SetAttValue (blk tag val / lst loop)
 (setq	lst  (entget (entnext blk))
loop (= "ATTRIB" (cdr (assoc 0 lst)))
 )
 (while loop
   (if	(= (strcase tag) (cdr (assoc 2 lst)))
     (progn
(entmod (subst (cons 1 val) (assoc 1 lst) lst))
(setq loop nil)
(entupd blk)
     )
     (setq lst	 (entget (entnext (cdr (assoc -1 lst))))
    loop (= "ATTRIB" (cdr (assoc 0 lst)))
     )
   )
 )
)

;; INCSUFF (version 1.2) -Gilles Chanteau- 15/01/08
;; Incrémente le suffixe d'une chaîne de caractères de la valeur spécifiée.
;; Est pris en compte comme suffixe, l'ensemble des caractères [0-9] et/ou [A-Z]
;; et/ou [a-z] depuis la fin du texte, en fonction de la valeur de alpha
;;
;; Arguments
;; str : une chaîne avec un suffixe valide
;; inc : un entier positif
;; alpha : un entier, somme des codes binaires suivant
;; 1 pour les caractères [0-9]
;; 2 pour les caractères [A-Z]
;; 4 pour les caractères [a-z]
;;
;; Retour
;; la chaîne avec son suffixe incrémenté (ou nil si aucun suffixe valide)
;;
;; Exemples :
;; (incsuff "N°002" 12 1) = "N°014"
;; (incsuff "Dessin9" 1 1) = "Dessin10"
;; (incsuff "testZZ9" 1 1) = "testZZ10"
;; (incsuff "testZZ9" 1 3) = "testAAA0"
;; (incsuff "testZZ9" 1 7) = "tesuAA0"
;; (incsuff "12" 1 2) = nil
;;
;; Modification (13/02/08) : codes binaires pour l'argument alpha

(defun incsuff (str inc alpha / lst crt pas ind dep quo ret)
 (setq lst (reverse (vl-string->list str)))
 (while
   (and
     (setq crt (car lst))
     (cond
((and (	 (setq pas 10
       ind 48
 )
)
((and (	 (setq pas 26
       ind 65
 )
)
((and (	 (setq pas 26
       ind 97
 )
)
((	 (setq crt (if (= 10 pas)
	     ind
	     (1- ind)
	   )
       lst (cons (car lst) lst)
 )
)
     )
   )
    (setq dep (- crt ind)
   quo (/ (+ dep inc) pas)
   ret (cons (+ ind (rem (+ dep inc) pas)) ret)
    )
    (if (zerop quo)
      (setq ret (append (reverse (cdr lst)) ret)
     lst nil
      )
      (if (cdr lst)
 (setq lst (cdr lst)
       inc quo
 )
 (setq lst (list ind)
       inc (if (= 10 pas)
	     quo
	     (1- quo)
	   )
 )
      )
    )
 )
 (if ret
   (vl-list->string ret)
 )
)

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Gile,je n'ai pas de restriction pour la numérotation des blocs mais quand je charge le lisp j'ai un message d'erreur:

 

Commande: _appload increment_total.lsp correctement chargé(s)

 

Commande: ; erreur: type d'argument incorrect: numberp: nil

Lien vers le commentaire
Partager sur d’autres sites

Bonjour gile, le lisp ne fonctionne plus, voici le message d'erreur après avoir sélectionner tous les blocs:

 

Commande: incss

 

Sélectionnez l'attribut à incrémenter:

Entrez la valeur de départ: FT

 

Sélectionnez les blocs ou :

Choix des objets: tout

464 trouvé(s)

 

Choix des objets:

; erreur: groupe DXF incorrect: (1)

 

Commande:

Peux tu m'aider s'il te plait?

 

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é