viraferon18-07-2002, 11.31.19
j'ai mis à l'attention des designers et des concepteurs d'autocad une simple
macro pour obtenir le cacolo de la zone des figures fermées.
copier dans un fichier et enregistrer avec extension.lsp, puis télécharger le fichier pour objet à l'intérieur
autocad avec la commande _appload, enfin lancer la macro à partir de l'invite, tapez
ar
modifier à votre discrétion, mais maintenir le droit d'auteur original
de l'auteur.
bon travail !
signets
texte macro autolisp:
;; area.lsp libération 1.0 <(c) f. battestini - 2001>
; ;
http://webspace.omniway.sm/fbattistini/;;
; ; ; ; ;**********************************************************************************************************************************************************************************************************************************************************************************************************************************************
;;; vous êtes autorisé à la distribuer et à la modifier librement.
; ; ; ; ;**********************************************************************************************************************************************************************************************************************************************************************************************************************************************
;;
;; calcola l'area di un loop
;;
;;; routine de manipulation d'erreur pour ar
;;
(bneurreur de défense (bn)
(principaux) <enter>: commande de zone optimisée-r 1.0 c) f. battistini ")
(commandement)
(setq lastr (ssget "_l" '((0 . "région")))
(commande "_area" "_ob" laser )
(setq lastr zéro)
(setvar "cmdecho" 0)
(setq lastr2 (sget "_l" '((0 . "région")))
(si (= lastr2 zéro)
(commande "_erase" lasr2"))
(setvar "cmdecho" 1)
(setq *error* plus âgé)
(principal)
)
;;
;;
;;*** routine principale c) f. battistini_2001 *******************************
;;
(défun c:ar (/ ententb ss pt ptlst ptlst2 lll loop ll2 y y2 ss ssoff entoff lass viewarea zdin)
(setq older *error*
*erreur* bnerror)
(setvar "cmdecho" 0)
(setvar "pickadd" 1)
(commander "_undo" "_be")
(c) par f. batttini_2001</enter>
http://webspace.omniway.sm/fbattistiniar <enter> ")
(principaux) <enter>: commande de zone optimisée pour les boucles. c) f. battistini")
(setq pt (point d'entrée "\neleziona punto interno all'isola: "))
(si (null pt)
(néant)
(setq xx (getvar "acadver")
(si (>= xx "15.0")
(commande "_-boundary" pt "" )
(commande "_-boundary" pt"))
(commandement "")(principal "\n\n-------------prégo assistante... le présent règlement est obligatoire dans tous ses éléments et directement applicable dans tout état membre.
(setq ss (en dernier))(commande "_region" ss"" )
(setvar "cmdecho" 1)
(commande "_area" "_ob" "_last" )
(setvar "cmdecho" 0)
(commande "_erase" (en dernier)")
(setvar "cmdecho" 0) (page texte)
(commande "_undo" "_e")(setvar "cmdecho" 1)(setq *error* olderr) (principal))
;;
(principaux) <enter>.comando -area- ottimizzato. c) f. battistini")
</enter></enter></enter>
max18-07-2002, 14.57.27
ça m'intéresse. expliquer la différence entre ceci et la commande "zone" ?
max max
viraferon18-07-2002, 20.53.35
bonjour, max.
la différence est importante !
exemple: si vous avez une figure fermée consistant en une boucle de quinee,
avec la zone de commande vous devrez sélectionner un par un tous ses sommets (extrémités) pour
prends le calcul. alors si vous deviez avoir une figure avec un côté courbé, vous ne seriez pas en mesure de calculer la zone avec la commande standard "area".
grâce à ma commande ar vous pouvez calculer la zone en cliquant simplement sur un point à l'intérieur. vous pouvez calculer la zone de n'importe quelle figure 2d.
donc vous gagnez en vitesse, simplicité et capacité de calcul.
j'espère avoir épuisé !
cependant, vous devez juste tester la macro et la distribuer à ceux qui veulent.
au revoir !
signets
http://webspace.omniway.sm/fbattistini/
max19-07-2002, 00.49.56
vous avez raison !
la fatalité de ma façon de dessiner s'était toujours produite en utilisant la commande surface/objet pour mesurer le développement des bandes transporteuses, que j'ai évidemment transformée en polylinea avant de mesurer.
demain, je vais essayer d'utiliser votre macro. mais je ne sais pas si ça va être facile. en attendant, merci, si je vous contacte. . . .
max max
viraferon19-07-2002, 10.19.47
monsieur. max,
le fait que vous ne savez pas autolisp ne vous empêche pas de profiter des avantages qu'il apporte à autocad.
en bref, pour charger un lisp (ou lisp, si vous préférez les attributs femelles. . )
vous devez saisir la commande _appload à partir de l'invite et sélectionner la macro, puis appuyez sur le bouton "load". la macro sera chargée en mémoire, à ce stade vous devrez lancer la commande spécifique.
cependant, si vous rencontrez des difficultés, je serai heureux de vous aider!
au revoir et bientôt.
p.s. je ne donne pas de cours d'autolisp, mais si vous êtes intéressé à approcher cette langue (vraiment simple au niveau de base) vous pouvez visiter le lien "autolisp..." sur mon site.
également autour du web vous trouverez des milliers de ressources et d'informations sur autolisp.
signets
http://webspace.omniway.sm/fbattistini/
Marcog21-07-2002, 20.15.30
salut, je voulais juste vous dire (au cas où vous n'auriez pas remarqué) qu'il y a une sous-fonction de la zone de commande qui permet de calculer "au moins" la zone d'une figure fermée.
si vous utilisez la zone de commande, vous verrez que la sous-commande "objet" apparaît ci-dessous. avec cette commande, en sélectionnant la figure poly ou fermée en général, vous pouvez calculer la zone rapidement sans lisp.
si vous voulez entrer la commande dans votre bouton en utilisant la personnalisation des boutons.
a)
la commande ne demandera que le clic sur un objet (fermé) et affichera la zone correspondante
bonjour, merci.
max22-07-2002, 11.02.46
en fait, c'est ce que j'ai dit plus haut. fatalité j'avais toujours calculé les zones (et les périmètres, parce que je me soucie des périmètres) de cette façon. toutefois, l'utilité et le caractère pratique du lisp proposé par arklisp ne peuvent être niés.
max max