• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Exploser un bloc contenu dans un autre bloc

  • Auteur du sujet Auteur du sujet rdilecce80
  • Date de début Date de début
confutatis, je suis désolé si je suis de retour ici pour t'écrire mais j'aurais besoin d'un autre peu d'aide si possible.

j'ai déjà utilisé esptac.lsp

J'ai malheureusement trouvé que les talons "notchs2" sont empilés sur l'autre et, selon le chemin, je devrais ouvrir le bloc et annuler les lignes en immergé.

Est-il possible d'utiliser, comme, une surcompétence pour éliminer les lignes qui se chevauchent directement de esptac.lsp ou d'exploser même ces dernières en créant seulement des lignes sur la couche 4, en mauvais termes, supprimer définitivement encotchs2?

Merci de votre patience.
 

Pièces jointes

Vous avez raison, j'ai juste raté le fait que quand j'utilise vla-explode, le programme me fait une copie des entités qui composent le bloc, en conservant l'original, contrairement à la commande explosante, qui élimine plutôt le bloc. C'est pourquoi le comptoir aussi est allé pour le sien. Ça devrait aller.
Si vous pouvez les filtrer, c'est mieux, sinon je vais devoir exécuter un système de contrôle pour les coordonnées des blocs et effacer les blocs aussi. Cependant vous ne le faites pas en 5 minutes...:smile:
 

Pièces jointes

Vous avez raison, j'ai juste raté le fait que quand j'utilise vla-explode, le programme me fait une copie des entités qui composent le bloc, en conservant l'original, contrairement à la commande explosante, qui élimine plutôt le bloc. C'est pourquoi le comptoir aussi est allé pour le sien. Ça devrait aller.
Si vous pouvez les filtrer, c'est mieux, sinon je vais devoir exécuter un système de contrôle pour les coordonnées des blocs et effacer les blocs aussi. Cependant vous ne le faites pas en 5 minutes...:smile:
les doubles encoches m'ont créé après avoir utilisé esptac.lsp
 
Je suis désolé, je ne veux pas être une douleur dans le cul, mais le code ressemble exactement au précédent:
(défun c:esptac (/ blocs gru dima index listadima count)
(vl-load-com)
(blocs setq(blocs vla-get-blocks (document vla-get-active(vlax-get-acad-object))))
gru(ssget '((0 . " insérer"))
)
(répétition (indice de setq(longueur gru))
(setq dima(ssname gru (setq index(1- index))))
listadima (blocs d'éléments vla (cdr(assoc 2))))
nombre 0
)
(vlax-pour elem listadima
(si (et (égal (vla-get-objectname (vla-item listadima compter)) "acdblockreference")
(égal (vla-get-name (vla-item listadima count)) "notchs2")
)
(progrès)
(setq listaent(car) (valeur sûre (valeur variable))Vla-explosion (vla-item listadima count))))
(liste "4")
)
)
(nombre défini (1 + nombre))
)
)
(vla-get-activedocument(vlax-get-acad-object) acactiveviewport)
)
 
Bah, j'avais l'impression d'avoir téléchargé le nouveau fichier, même parce que l'ancien n'existe plus depuis que je l'ai écrasé. Cependant, un joli copy-colle résout enfin la question :
Code:
(défun c:esptac (/ blocs gru index dima listadima)
(vl-load-com)
(blocs setq(blocs vla-get-blocks (document vla-get-active(vlax-get-acad-object))))
gru(ssget '((0 . " insérer"))
)
(répétition (indice de setq(longueur gru))
(setq dima(ssname gru (setq index(1- index))))
listadima (blocs d'éléments vla (cdr(assoc 2))))
)
(vlax-pour elem listadima
(si (et (égal (vla-get-objectname elem) "acdblockreference")
(égal (vla-get-name elem) "notchs2")
)
(progrès)
(vla-put-layer (voiture (valeur de sûreté (valeur variable (vla-explode elem)))))) "4")
(vla-delete elem)
)
)
)
)
(vla-get-activedocument(vlax-get-acad-object) acactiveviewport)
(alerte "tacche esplose!")
)
ps: testé sur tous les fichiers dima reçus
 
Bonjour confutatis, reviens ici. L'autre jour, vous m'avez dit que vous pouviez supprimer par lsp la copie des blocs encoches2.

maintenant le problème est plus que jamais ennuyeux puisque le programme d'importation reconnaît la "double ligne" sur la couche 4 et invente les talons.

voulant, si je simplifie le concept, la "double ligne" peut aussi ne pas être effacée mais être maintenue sur un autre calque autre que 4.

Si possible et si je ne vous dérange pas, pourriez-vous me donner une dernière main ?

Merci d'avance quelle que soit la réponse.
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut