Aller au contenu

Amélioration lisp protection bloc ?


Apertolibro57

Messages recommandés

Bonjour,

Je me permets de venir toquer à votre porte pour savoir si quelqu'un pourrait améliorer un lisp posté sur ce forum en 2007 par  Patrick_35 (merci à lui pour cette contribution d'ailleurs!) :

Mon souhait serait de pouvoir appliquer un lisp qui empêcherait un bloc (dynamique ou non) d'être décomposer (ce que fait très bien celui de Patrick_35 ), mais également d'empêcher totalement la modification de ce même bloc. Il faudrait donc que l'éditeur de bloc ne soit pas accessible ou ne fonctionne pas non plus (et logiquement aussi pour la commande "éditer le bloc dans le même dessin").

Le fait que ce bloc protégé par le lisp puisse être copié et réutilisé dans un autre dwg n'est pas un problème du moment que cette copie garde la protection du lisp (comme celui de Patrick_35  pour la décomposition ).

Pour terminer, si quelqu'un fait de ce bloc protéger un "fichier bloc", il faudrait donc également pouvoir empêcher l’accès à l'éditeur de bloc à l'ouverture de ce "fichier bloc" créé.

Voilà, je ne sais pas si ceci est facilement réalisable, mais ça serait formidable si quelqu’un décidait de s'intéresser au sujet.

En tout cas déjà, merci à vous de m'avoir lu.

 

Lien vers le commentaire
Partager sur d’autres sites

Hello @Apertolibro57

Tu oublies un détail : d autres logiciels de CAO (MicroStation, ZWCad, GStarCad, etc) lisent le format DWG !

Comment veux tu te protéger contre les autres logiciels de CAO compatibles AutoCAD ?

ET Malheureusement Patrick_35 est DCD depuis qq années (Mars 2019) ... RIP

La Sante, Bye, lecrabe 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse lecrabe.

Ceci dit ce n'est pas très grave. Qui peut le plus peut le moins.Je ne veux pas forcement que ça soit inviolable. Juste que mes blocs ne soient pas modifiés le plus souvent possible. Et si ce n'est que dans Autocad ça sera déjà ça.

En fait, pour développer davantage, je suis indépendant, je reçois et renvoi des tas de fichiers à des entreprises (qui pour info, utilisent en grande majorité Autocad). Je souhaiterais donc avoir la possibilité de retrouver des blocs de dessins techniques dans les dwg sans qu'ils ne soient défoncé par le premier venu, et ainsi pouvoir continuer à travailler convenablement sur les fichiers que je reçois à nouveau, sans avoir à m'arracher les cheveux!

Ma demande est-elle donc recevable?

PS: Je suis navré de cette nouvelle pour Patrick_35. Et je suis désolé si j'ai pu amener de la tristesse à ta soirée.

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Le problème n'est pas qu'il n'y ait personne sur ce forum, au contraire !
Ce que tu demandes n'est pas possible à mes yeux ! On ne peut pas empêcher AutoCAD de fonctionner avec ses propres outils...Ou du moins je n'ai aucune connaissance dans ce domaine. Le LISP que tu as cité ne protège aucunement les blocs d'être modifiés, uniquement d'être décomposés. Or cela est une simple propriété naturelle d'un bloc.

Il faut penser que le LISP n'est qu'un outil capable de faire automatiquement des choses que l'on peut faire à la main. Or je n'arrive même pas à concevoir comment faire manuellement pour répondre à ta demande...

Bref. Le souci n'est pas le manque de bénévoles, c'est juste que la demande est très complexe donc probablement que certains se sont penchés sur la question mais une chose est sûre : si jamais cela est réellement possible, on ne va pas trouver une solution en deux jours !

Bisous, Luna

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Il existe certainement une solution avec des réacteurs, par contre il faut alors que tes partenaires installe le lisp.

Sinon, si perdre le nom de ton bloc ainsi que le dynamisme , n'a pas d'importance, on doit pouvoir le rendre anonyme, et la c'est plus difficile à modifier.

mais toujours possible.

Je rejoint donc Luna

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour votre retour @Luna et @Fraid et désolé pour la réponse tardive.

Ok je crois comprendre la nuance que tu exprimes lorsque tu parles de propriété naturelle du bloc.

En fait je pensais que puisqu'il était possible d'interdire la commande "décomposer" et donc d'empêcher un bloc d'être décomposé (comme le fait le lisp de Patrick), il était aussi possible d'interdire la commande d'édition de bloc et ainsi d'empêcher également le bloc d'être modifiée. Ne serait-ce juste dans le dessin où se trouve le bloc.

Et sinon,  même si l'accès à l'éditeur de bloc ne peut être empêché, ne serait-il pas possible d'empêcher les éléments composant le bloc d'être supprimés? Qu'il y ait des polylignes, textes, blocs ou autres. Ça serait déjà très bien!

Merci pour votre partage.

Lien vers le commentaire
Partager sur d’autres sites

En fait y réfléchissant, et en essayant de comprendre encore davantage , je crois qu'empêcher de supprimer un élément n'est pas possible car ça n'est pas une propriété naturelle proposée à la base. C'est bien cela?

Et pour répondre @Fraid , garder le dynamisme pour les blocs qui en ont reste important, donc le rendre anonyme n'est pas top dans ce cas. Par contre pour un bloc lambda cela peut être intéressant. Je vais faire mes recherches sur comment faire un bloc anonyme. Si vous ayez un lien avec des explications claires du sujet, je suis preneur.

Lien vers le commentaire
Partager sur d’autres sites

La seule solution envisageable à mes yeux serait, comme le souligne @Fraid, de passer par un réacteur en lisp. Mais évidemment, si le fichier LISP n'est pas installé, le réacteur ne sera pas présent ! Donc vraiment très peu utile quand on y pense, car tes clients auront plutôt tendance à oublier d'installer le fichier LISP plutôt que l'inverse.

Ensuite, même si c'était envisageable, comment le réacteur est-il supposé vérifier que des objets situé dans l'éditeur de bloc ont été modifié ? Comme je l'ai dit, la programmation permet de copier des fonctionnements de base d'AutoCAD. Donc encore une fois, cela est très compliqué manuellement d'empêcher un utilisateur d'utiliser une commande native d'AutoCAD. Donc cela sera tout aussi complexe par programmation...

Il n'existe pas vraiment de gestion de confidentialité au sein même d'un .dwg ! Il me semble que l'on peut par exemple protéger un fichier .dwg dans son ensemble par un mdp, mais on ne peut pas protéger certains objets d'un .dwg...

Donc il n'existera pas vraiment de méthode efficace pour palier à ton problème, juste de la bidouille.

Pour les blocs anonymes et la protection des DWG, peut-être que cet article sera plus explicite >>ici<<

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

Un truc qui pourrais être envisagé, mais que je n'ai pas essayé...

Substituer tout tes blocs par des images (de préférence en tiff 2 tons (N/B) pour avoir une transparence de l'image ne laissant voir que le filaire et ne pas avoir un masque d'image).

Le gros travail, sera de constituer ces images à partir de ces blocs (ça peut éventuellement s'automatiser, mais sans certitude)

Une fois ces images obtenues, une petite routine pour substituer les insertions de bloc par les images, puis en purgeant les blocs avant livraison.

A la réception d'un fichier retravaillé tu fais la procédure inverse de substitution pour retrouvé ton travail original.

Les images donneront le résultat final de ton travail sans pouvoir le modifier au niveau des blocs.

L'inconvénient les images peuvent rendre un dessin assez lourd suivant le nombre.

 

On pourrait aussi envisager aussi des shapes (formes) qui serait beaucoup plus léger mais plus difficile à créer, même parfois impossible si les blocs sont complexes.

En tout cas pas vraiment de solutions simples...

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

@Luna Oui mes clients ne se casseront pas la tête à installer quoi que se soit pour mes beaux yeux. Et de toutes manières même si ils le faisaient, les fichiers partent encore vers d'autres entreprises avant de me revenir. Le DWG passe en fait entre diverses mains de dessinateurs de tout niveau avant de me revenir.

@bonuscad Merci pour ta proposition, mais il y a beaucoup de blocs dynamiques qui doivent pouvoir continuer à être utilisés dans le dessin, donc ta solution n'est pas envisageable dans mon cas.

Tant pis je vais me faire une raison 😉

Merci pour vos partages.

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é