Aller au contenu

Lisps demoniac


dxxx01

Messages recommandés

bonjour je recherche un lisps qui pourrait me transformer un dwg en BLOC

je souhaiterais si possible que le nom de fichier DWG devient le nom du bloc

avec option préfixe

avec option suffixe

Example

Etape 0 mon bloc.DWG devient un bloc==>mon bloc.dwg avec  a l'intérieur un bloc qui s'appel mon bloc en 0,0,0

etape 1 mon bloc devient==>A mon bloc

etape 2 A mon bloc devient ==>A mon bloc B

 

si je dois modifier le lisp moi même pour le préfixe et le suffixe cela ne me dérange pas, même si l'opération dois ce faire en 3 temps d'abord

le dwg qui deviens un bloc préfixe ensuite suffixe

 

Pourquoi 

tous simplement pour pouvoir mettre mes blocs dans la palette qui n'accepte pas le même (nom de fichier = le nom du bloc)

j'en ai pas mal a faire, et je viens de me taper 400 bloc cceate bloc a la mains avec la commande renommer j'en peu plus

merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @dc01

Un fichier qui contient un bloc qui se nomme comme le fichier contenant sera impossible à insérer dans un autre fichier.
Le bloc se référant à lui-même.

Ou alors, je n'ai pas compris, ce qui est dans le domaine du possible !

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

non en faite j ai de gros dossier de dwg

j aimerais les transformer en bloc avec un 0,0,0

donc nom de fichier = nom de bloc si possible

si en plus le lisp peu insérer un prefixe et un suffixe au bloc quand on le creer

pour evité comme dis didier qu il ce réfère a lui même ce serait le top

en deux ou trois étapes je m en fiche

//chercher dans le dossier les dwg

// transformer tous ce qu il y a en bloc 

// placer un prefixs si je veut

// placer aussi un suffixe si je veut

Lien vers le commentaire
Partager sur d’autres sites

en faite un bloc qui ce refere a lui mee s inser on l ouvre direct en esit bloc

n place le bloc en facoris

puis on le place dans un fichier neuf

et on entegistre ce nouveau bloc qui merdait peut etre

un peu chiant mais on récupère le bloc avec l aspect dynamique aussi

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Quel est l’intérêt de créer un bloc dans le DWG ?

Tu peux directement insérer ton DWG en tant que bloc dans un autre dessin.

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai du mal à comprendre.

Par essence, un bloc c'est un dwg. Si tu as un répertoire plein de dwg, il te suffit juste de renommer tes fichier à l'aide d'un utilitaire du type ReNamer par ex.

Si maintenant tu veux que ton dwg contienne le bloc du même nom, alors là je n'en vois pas vraiment l'intérêt.

Si en plus ton bloc est dynamique, un lisp risque de te faire perdre l'aspect dynamique de ton bloc (c'est le cas du fameux Edit_bloc_rep de giles)

Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !

Lien vers le commentaire
Partager sur d’autres sites

bon puisqu'il faut tout expliquer,

En faite Comme vous le savez TOUS Autocad a son Fonctionnement propre,

puis il peu ce personnaliser selon les secteurs d'activités ou l'on évolue.

 

Pour ce qui concerne le sujet BIBLIOTHEQUE DE BLOC Dynamique ou PAS

pour le  PAS il n y a pas de sujet et je suis ok avec  ce qui a été dis précédemment dans  ce POST mais pas du  tous pour les blocs dynamique

cela pourrait d'ailleurs être des entités AEC ce serait Pareil.

pour en revenir a nos moutons

j'ai un Big Dossier sur le serveur Biblio Blocs, celui-ci contient deux dossiers

1 dossier de blocs non dynamiques de style perso, vehicules, et différents themes encore orienté ARCHI La il  n y a pas de sujets Insert bloc  et basta

1 dossier remplis de bloc dynamique sur les principes Phases Archi avec des blocs dynamiques, (Cloisons, portes, CVC, incendie, sols, murs ECT...

Ces blocs dynamique doivent ce trouver forcément dans un ficher DWG

donc ext ce qu'en LISPS ce qui suis est possible,======>

 

1 Je souhaiterais donc Un lisp qui a la capacités de lire un dossier Windows,

2 de scruter les DWG qui s'y trouve,

3 de créer pour chaque DWG  qu'il trouve, un bloc en 0,0,0 dans chaque fichier

4 le nom du BLOC pour commencer peu être celui du fichier ou il ce trouve !!!!!!!!!!!!!!!!!!!!!!!! MAIS LA EST LE HIC !!!!!!!!!!!!!!!!!!!!!!!

Un bloc ne peu pas faire référence a lui même, DONC NOM DE FICHIER DWG=NOM  DE  BLOC NON!!!!!!!!!!  

5 si le lisps peu me proposer en créant ce bloc, une option de suffixe, Prefixe ce serait vraiment TOP DU TOP

Il n y a  pour le moment pas de dynamisme dans  les blocs créer, je le ferais après

 

Lien vers le commentaire
Partager sur d’autres sites

Pour les blocs dynamiques, il faut enregistrer le bloc dans un fichier de dessin depuis l'éditeur de bloc et tu peux l’insérer depuis un DWG

Capturedcran2023-06-29112014.thumb.png.3731ebefed396cf81151bc34d08e8517.png

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

Ce que tu demandes est toujours aussi incompréhensible et/ou insensé.

S'il te plait poste un exemple de DWG tel qu'il est et le même DWG tel que tu voudrais qu'il soit.

Ci-joint un exemple de fichier bloc dynamique qu'on peut insérer avec l'option "Parcourir..."

Rectangle.dwg

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

Lien vers le commentaire
Partager sur d’autres sites

en faite ici j'ai choppé un lisps ici qui scrute 1 fichier DWG ouvert et qui pour chaque BLOC trouvé avec wblock a la sauce lisps

1 fichier DWG sur  le disque dur

EXTRA pour  extraite tous les blocs  BON LA TOUS VA BIEN JE VAIS BIEN

 

le Prb est que chaque fichier créer, ne deviens pas un bloc dans le DWG créer ?vmais des entités dessin sans nom ni rien donc  je dois créer le bloc moi même

d'ailleurs comme les dessinateurs ont des fois des lubis RIRE,

ce bloc peu  avoir un nom bizarre quand il ai mal créer, comme A$C01.....

ce petit lisps Génial donc transforme des bloc avec un beau  non et des noms biz en fichiers dwg sur le disque dure qui  EUVENT  devenir des blocs OK

La  je  commence  aller moins  BIEN

bon renommer les mauvais nom  avant extraction ...ok je respire

 

si je glisse le fichier DWG comme bloc ce que tous le monde me dis de faire,  ce n'est pas ce que je veux,

Avoir un bloc uniquement dans mon dessin EUH non,

Je préfère que ce fichier DWG contienne un bloc et si possible avec un nom de bloc qui est créer garce au nom du fichier DWG

avec la possibilité de  rajouter un suffixe et prefix au nom du bloc, comme ça  le nom du bloc  sera différent  du nom  de fichier

 

1 j'ai le lisps qui extrait tes blocs du fichier courant pour avoir BLOC=Fichier.DWG= BTOWB

mais qui ne deviens pas un bloc a l'intérieur, donc si dynamique au départ tu te retrouve avec des traits

2 moi j'aimerais maintenant un LISP qui  créer pour chaque Fichier DWG trouvé  dans  un dossier,

Qu'il créer a l'intérieur un bloc avec possibilité de mettre un prefixe suffixe au  nom du bloc

pour pouvoir placer tous ces fichier DWG" BLOC"

pouvoir les placer dans la palette des bloc CTRL+3

 

MOI je vais modifié chaque DWG, et le bloc qui est a l'intérieur et faire des blocs dynamique avec

 

mais glisser soit dans la palette des bloc ou de contenue  des dessins pour qu'il devienne des blocs dans mon  plans

cla ne constitue pas pour  autant des blocs dynamique pour autant mais des dessin décomposer

 

 

Rectangle.dwg

Lien vers le commentaire
Partager sur d’autres sites

Il faudrait voir ton lisp qui créer tes DWG de blocs.

Parce que avec WBLOC, les DWG créés sont bien dynamiques lorsque je les inserts ensuite

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

je ne sais pas si les blocs sont valide avant le lisp, une chose qui est sur

quand j'ouvre mon bloc dynamique qui lui fonctionne, qui est seul dans un fichier qui porte un nom différent du  bloc,

si je bouge la longueur, la hauteur la surface en mêtre carré change, tous va bien

quand j'utilise BTOWB pour transformer ce bloc en fichier DWG

je ne peux plus ouvrir le fichier en directe il me dis tjrs lance l'editeur de bloc  sinon va chié  ou tu perd le bloc dynamqiue

Donc je ruse je vais dans palette et charge le dossier ou il est seul quand je le place

le bloc va bien, il a le  bon nom,

par contre J'ai perdu le côté dynamqiue sur un des champs celui des  surfaces en metre carré , ma  formule est toute basic pourtant

Formule// Objet//le BLOC//distance 3 X objet bloc  //  la zone ou j'ecrit ma valeur a la mains // Hauteur et je choisis valeur

évaluât et basta

===============================

  ;BtoWB=>Bloc to WBloc
    ;---------------------------
    ;récuperer les blocs internes d'un fichier pour les passer en blocs externes (WBloc)
    ;--------------------------
(defun c:btowb ()
 (setvar "cmdecho" 0)
    ; pour definier les noms longs à changer suivant la version d'autocad et de windows
    ;si nom_long = T alors nom long OK
    ;si nom_long = NIL alors pas de nom long
 (setq nom_long T) ;on liste tous les blocs internes contenus dans le fichier
 (setq lst_bloc nil)
 (setq bloc (tblnext "BLOCK" T))
 (while (/= bloc nil)
   (if    (/= (substr (cdr (assoc 2 bloc)) 1 1) "*")
     (if (/= (wcmatch (cdr (assoc 2 bloc)) "*|*") T)
(setq lst_bloc (append lst_bloc (list (cdr (assoc 2 bloc)))))
     )
   )
   (setq bloc (tblnext "BLOCK"))
 )
 (setq nb_bloc (length lst_bloc))
 (prompt (strcat "\n" (itoa nb_bloc) " BLOCS TROUVES"))
    ;on défini si la création est totale ou si on passe les noms un par un
 (setq compte 0)
 (setq option nil)
 (initget "P T")
 (setq option (getkword "\nCréation Pas à pas ou Tout: "))
 (if (= option "T")
   (progn (repeat nb_bloc (creation_bloc) (setq compte (1+ compte))))
   (progn (repeat nb_bloc
     (setq choix nil)
     (initget "O N")
     (setq
       choix (getkword
           (strcat "\nBLOC " (itoa (1+ compte)) " = " (nth compte lst_bloc) " > O/N : ")
         )
     )
     (if (= choix "O")
       (creation_bloc)
     )
     (setq compte (1+ compte))
   )
   )
 )
 (princ)
)

    ;---------------
    ;sous programme creation de bloc
    ;--------------

(defun creation_bloc ()
 (setq existe nil) ;on verifie que le bloc n'existe pas sinon on pose la question de le remplacer
 (setq existe (findfile (strcat (nth compte lst_bloc) ".dwg")))
 (if (= existe nil)
   (if    (= nom_long T)
     (command "WBLOC" (nth compte lst_bloc) (nth compte lst_bloc))
     (command "WBLOC" (substr (nth compte lst_bloc) 1 8) (nth compte lst_bloc))
   )
   (progn (initget "O N")
   (setq efface    (getkword (strcat "\nLe bloc "
                  (nth compte lst_bloc)
                  " éxiste déja, désirez vous le remplacer O/N:"
              )
        )
   )
   (if (= efface "O")
     (if (= nom_long T)
       (command "WBLOC" (nth compte lst_bloc) "o" (nth compte lst_bloc))
       (command "WBLOC" (substr (nth compte lst_bloc) 1 8) "o" (nth compte lst_bloc))
     )
   )
   )
 )  ;(princ)
)
;;;(prompt "\n======>BTOWB")
;;;(princ)

 

 

Lien vers le commentaire
Partager sur d’autres sites

quand on a validé un chemin d'accés dans la   palette  de bloc "bibliotheque"

comment fait on pour enlever le chemin que l'on  a utilisé précédemment ? 

PFFF c'est embetant

 

j'ai trouvé pour enlever l'étiquette qui s'affiche normalement,  quand il  ne  la trouve pas il propose de la supprimer

bon la c'est ok, par contre un chemin  créer rien a faire, j'ai beau enlevr physiquement le  dossier

il  me dis simplement que  le dossier est introuvable mais ne propose pas de le supprimer

embetant ça

 

Idem pour le fichiers CDC,

j'ai  eus  beau  supprimer les palettes  et tous et tous, pour CTRL+3

il me fabrique toujours des fichiers cdc dans les dossiers, j'ai  beau  l'ai enlever il  revienne

pourtant les palette sont redevenue comme par défaut

 

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprends toujours rien à la demande.

Il me semble juste que tu demandes un LISP pour pouvoir en utiliser un autre que tu trouves génial alors que tout pourrait se faire sans programmation, juste en admettant qu'un fichier DWG est un bloc potentiel et que ce fichier peut très bien avoir des propriétés dynamiques (CF le fichier Rectangle.dwg créé sans aucune programmation).

Personnellement, j'abandonne...

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

Lien vers le commentaire
Partager sur d’autres sites

pourtant ce n est pas compliqué d avoir un bloc dynamique dans un fichier dwg

le fichier avec son nom permettant au bloc de ce réaliser avec un suffix et un prefixe pour les différentier,

sans que l'un et l'autre ne comporte le même nom bien évidemment.

 

comment fait tu pour avoir un fichier dwg "bloc" qui ne s'ouvre qu a travers l'éditeur de bloc ?

ensuite comment dans ce cadre alors, le tiens, pour aller au bout de ton explication,

comment transformer tous les fichiers dwg présent dans un dossier en bloc,

avec un point de base 0,0,0

sur le calque Zero de toute les entités présente dans le fichier

quel nom aura le bloc

nom de fichier = nom de bloc impossible a utiliser dans la palette CTRL+3

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @dc01

en faite un bloc qui ce refere a lui mee s inser on l ouvre direct en esit bloc

Tu te relis quand tu postes un message ?
Je veux bien que tu relises cette phrase et que tu me dises ce que tu comprends.

Pour ce qui est de ta demande, je ne comprends pas l'intérêt, tu peux reprendre tes explications en détail s'il te plaît.

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Le 30/06/2023 à 00:51, dc01 a dit :

pourtant ce n est pas compliqué d avoir un bloc dynamique dans un fichier dwg

Je pense plutôt que c'est toi qui ne comprends pas bien ce qu'est un bloc dynamique

Un bloc EST un fichier DWG, peu importe qu'il soit dynamique ou pas.

La différence lorsque tu ouvre ces fichiers :

- Bloc simple le dwg s'ouvre et tu trouve le "dessin" de ton bloc dans l'espace papier

- Bloc dynamique : le DWG s'ouvre et là tu as AutoCad te propose 2 possibilités :

  1. l'ouvrir dans l'éditeur de bloc (pour pouvoir le modifier avec prise en compte des paramètres)
  2. refuser de l'ouvrir dans l'éditeur de bloc et dans ce cas il s'ouvrira comme un bloc classique mais toute modification "visuelle" de ton bloc (ajout, modification ou suppression d'éléments de dessin) risque d'altérer gravement la dynamique de ton bloc

C'est pourquoi un bloc dynamique DOIT obligatoirement s'ouvrir via l'éditeur de bloc car il possède des paramètres modifiables et/ou paramétrables

L'intérêt d'un bloc dynamique c'est de pouvoir avoir plusieurs visuels d'un objet tout en ayant qu'une seule entité dans ton dessin

 

Le 30/06/2023 à 00:51, dc01 a dit :

comment transformer tous les fichiers dwg présent dans un dossier en bloc,

avec un point de base 0,0,0

sur le calque Zero de toute les entités présente dans le fichier

C'est lors de la création du bloc que cela doit être fait. Si cela est correctement réalisé, ton bloc possède son point d'insertion en 0,0,0 et les entités doivent être dans le calque 0

Raph.

Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !

Lien vers le commentaire
Partager sur d’autres sites

merci mais j'avais dans l'ensemble compris le fonctionnement et j'avais déjà remarqué les réactions des blocs

bon ce n'est pas grave je suis passé a autre chose

la j'ai une Big Co...ça saoule  quand je fait mon bloc et les formules sur l'espace objet c'est bon, quand  je bouge les valeurs ou paramètre tous va bien

quand je fait inséré le bloc LA plus rien ne va

et moi je veux  surtout pouvoir insérer le bloc et qu'il garde les formules en mémoire

les formule ce barre en cacahuète

j'ai  beau les faire en faisant editer attribut en étant en dehors du  bloc pour devoir  pointer le bloc a  chaque fois,

pour  qu'il  comprenne que c'est bien  le bloc  nommer que  je  veux mettre a jour,

ou faire la  manipulation directement dans le bloc  sur  l'attribu le resultat reste le meme

ATTSYNC  et tous le toutilme,

quand j'insère ce bloc la zone ou  il  y  a  une formule,  ça bug

 

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é