Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Faites vous une utilisation non conventionnelle d'AutoCAD ?

45 RÉPONSES 45
Répondre
Message 1 sur 46
patrick.emin
4480 Visites, 45 Réponses

Faites vous une utilisation non conventionnelle d'AutoCAD ?

Bonjour,

 

Même si vous n'êtes pas utilisateur d'AutoCAD, vous le connaissez sans doute tellement c'est devenu et resté un standard du Dessin Assisté sur Ordinateur. (DAO)

 

Logiciel multi disciplinaire, on a utilisé AutoCAD pour dessiner dans des domaines extrêmement variés, parfois des choses improbables... qui ne semblaient à priori pas relever du dessin technique.

 

Si vous avez utilisé AutoCAD pour créer des dessins sortant des sentiers battus, des disciplines classiques comme l'AEC, la conception industrielle, les SIGs... etc, il serait intéressant que vous nous fassiez part de votre expérience et postiez ici des exemples de vos réalisations.

 

Voici par exemple un dessin que j'avais réalisé pour un architecte d'intérieur vers 1990:

 

autocad-utilisation-non-conventionnelle.png


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
45 RÉPONSES 45
Message 2 sur 46
Kevin_Megel
en réponse à: patrick.emin

Hello,

Pour ma part je l'utilise dans divers domaine.

Par exemple il m'est arrivé de faire des bases de texture pour des objets 3D comme pour avoir une régularité sur la graduation d'une règle qui se retrouve dans ce genre de scène

Table dessin.png

 

Notez le petit clin d'oeil entre l'ancienne façon et la nouvelle façon de dessiner.

 

J'ai eu également l’occasion de participé a un petit concours "graphique" sans gain, le 36 days of type

ou je me suis retrouver a faire des lettres en dessin technique

 

36daysoftype_#.png36daysoftype_@.png36daysoftype_All.png

 

Enfin parfois pour le fun je reproduis certain élément fictif

Biblotheque perso-Objet.jpgMickey-Objet.jpg

 

Voila, pour le coté dessin non traditionnelle !

Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.

EESignature

Je suis un simple utilisateur, je ne travaille pas pour Autodesk

Message 3 sur 46
patrick.emin
en réponse à: Kevin_Megel

Merci @Kevin_Megel 

 

Dans le même genre, le passage à l'Euro m'avait marqué...

 

image.png

 


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 4 sur 46
Salim_BLG
en réponse à: patrick.emin

Hello

Pour ma part, mon utilisation non conventionnelle de AutoCAD est orientée formation

Faire de la présentation AutoCAD via un fichier PPT n'a jamais été une envie, donc j'ai décidé de faire la présentation de l'interface à l'aide du logiciel avec:

 

- de multiples saisies d'écran des éléments de l'interface

 

- une gestion par calques des étapes de présentation

 

- gestion de l'aspect temporel via l'utilisation des états de calques

 

et donc cela donne ceci, dans un post que j'avais écrit il y a quelques temps:

 

https://forums.autodesk.com/t5/autocad-tous-produits-francais/autocad-un-logiciel-a-4-dimensions/m-p...

 

 

Salim



Salim_BOULGHOBRA
[CAD trainer Arkance Systems ]
LinkedIn

Message 5 sur 46
patrick.emin
en réponse à: patrick.emin

Bonjour,

 

Outil idéal pour expérimenter la géométrie, AutoCAD peut également illustrer certains principes et surtout les tester.

Voyez cette illustration des cercles magiques (dessin DWG joint)

 

Et si vous participiez à notre challenge ?

 

image.png


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 6 sur 46
nicolasmenu
en réponse à: patrick.emin

Une des utilisation non conventionnelle que j'en ai fait il y a longtemps...

Générer des galeries de photos de site web en HTML.
Le résultat est toujours online, en voici un exemple... http://www.wild-lights.com/scouts/galeries/shell1/index.htm 
(http://www.wild-lights.com/scouts/cabane_photos.htm)

Toutes ces pages ont été intégralement générées par AutoCAD, sans intervention manuelle, si ce n'est la sélection du dossiers de photos. Les textes de titres de galerie, et textes de descriptions des photos, repris depuis les données EXIF.

Au lieu d'une base mysql/php, j'avais utiliser via AutoLISP (un des langage de prog intégré à AutoCAD) pour générer du code html statique, pour quelques milliers de pages de galeries photos, avec liens avant/arrière, etc...  Ca avait marché a merveille.

Vive le LISP 😉 et cette magnifique boîte à outil qu'est toujours AutoCAD

Message 7 sur 46
patrick.emin
en réponse à: nicolasmenu

Ah oui là effectivement je confirme tu es vraiment dans le non conventionnel total, super intéressant merci.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 8 sur 46
nicolasmenu
en réponse à: patrick.emin

effectivement, oui 😉 ... mais le plus difficile n'a pas été le code Lisp, mais la construction du chalet en rondins... Tronçonneuse et huile de coude, lol. 

Message 9 sur 46
Kevin_Megel
en réponse à: nicolasmenu

Une galerie photo avec autocad ! Et ben

Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.

EESignature

Je suis un simple utilisateur, je ne travaille pas pour Autodesk

Message 10 sur 46
Anonymous
en réponse à: patrick.emin

Bonjour,
Pour des exercices de navigation maritime.

Message 11 sur 46
-didier-
en réponse à: patrick.emin

Coucou

 

Moi, je me suis mis en tête de partager ce que j'avais appris en quelques décennies sur la "programmation" en mettant en ligne un site de vulgarisation sur l'AutoLisp, le Visual Lisp, le DCL et si je trouve le temps sur le C#

Et ce que j'ai trouvé comme lien inter-métier pour donner des exemples de programmes, c'est de faire des "jeux" en utilisant l'interface graphique d'AutoCAD.

Les fonctions servant au jeu sont rapidement comprises puisqu'elles ne sont pas dédiées "métier" car sur quoi peuvent échanger un chaudronnier, un géomètre et un architecte, au niveau programmation, tout les différencie, sauf le jeu qu'ils comprennent tous instinctivement.

Mon site est en lien dans ma signature, mais ce LIEN est un accès direct à la page citée

Amicalement

 

 

 

Éternel débutant.. my site for learning : Programmer dans AutoCAD

Didier Aveline

EESignature

Message 12 sur 46
Kevin_Megel
en réponse à: -didier-

Intéressant de faire un jeu pour apprendre le Lisp

 

J'ai vue passé il y a quelque année un packman je crois en autolisp

Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.

EESignature

Je suis un simple utilisateur, je ne travaille pas pour Autodesk

Message 13 sur 46
_gile
en réponse à: Kevin_Megel

Programmation, maths, géométrie comme, par exemple, pour dessiner des cercles d'Apollonius en utilisant le théorème de Descartes avec des nombres complexes.

Apollonius.png

 

On peut noter la concision du code avec F#

 

module ApollonianGasket

open System.Numerics

let solve a b c =
    a + b + c + 2. * sqrt (a * b + b * c + a * c)

let scale a (c: Complex) = Complex(a * c.Real, a * c.Imaginary)

let solveComplex (a: Complex) (b: Complex) (c: Complex) =
    a + b + c + scale 2. (Complex.Sqrt(a * b + b * c + a * c))

let apollonianCircle (x1, y1, k1) (x2, y2, k2) (x3, y3, k3) =
    let kz1 = scale k1 (Complex(x1,y1))
    let kz2 = scale k2 (Complex(x2,y2))
    let kz3 = scale k3 (Complex(x3,y3))
    let k4 = solve k1 k2 k3
    let p4 = solveComplex kz1 kz2 kz3 |> scale (1.0 / k4)
    p4.Real, p4.Imaginary, k4

let rec apollonianGasket c1 c2 c3 i =
    match i with
    | 0 -> []
    | _ -> 
        let c4 = apollonianCircle c1 c2 c3
        [(c4, i)] @
        apollonianGasket c1 c2 c4 (i - 1) @
        apollonianGasket c2 c3 c4 (i - 1) @
        apollonianGasket c3 c1 c4 (i - 1)

let circlePacking x y r i =
    let rt3 = sqrt 3.
    let innerRad = r / (1. + 2. / rt3)
    let innerCur = 1. / innerRad
    let h = innerRad * (rt3 + 1.)
    let c0 = x, y, -1.0 / r
    let c1 = x, y + r - innerRad, innerCur
    let c2 = x + innerRad, y + r - h, innerCur
    let c3 = x - innerRad, y + r - h, innerCur
    [(c1, i); (c2, i); (c3, i)] @
    apollonianGasket c1 c2 c3 (i - 1) @
    apollonianGasket c1 c2 c0 (i - 1) @
    apollonianGasket c2 c3 c0 (i - 1) @
    apollonianGasket c3 c1 c0 (i - 1)

// Commande AutoCAD
open Autodesk.AutoCAD.ApplicationServices
open Autodesk.AutoCAD.DatabaseServices
open Autodesk.AutoCAD.EditorInput
open Autodesk.AutoCAD.Geometry
open Autodesk.AutoCAD.Runtime

let mutable numSteps = 8

[<CommandMethod("APOLLONIUS")>]
let apolloniusCmd () =
    let doc = Application.DocumentManager.MdiActiveDocument
    let db = doc.Database
    let ed = doc.Editor
    let peo = PromptEntityOptions("\nSélectionnez un cercle: ")
    peo.SetRejectMessage("\nUniquement un cercle.")
    peo.AddAllowedClass(typeof<Circle>, false)
    let per = ed.GetEntity(peo)
    if per.Status = PromptStatus.OK then
        let pio = PromptIntegerOptions("\nEntrez le nombre de niveaux: ")
        pio.LowerLimit <- 1
        pio.UpperLimit <- 12
        pio.DefaultValue <- numSteps
        pio.UseDefaultValue <- true
        let pir = ed.GetInteger(pio)
        if pir.Status = PromptStatus.OK then
            numSteps <- pir.Value
            use tr = db.TransactionManager.StartTransaction()
            let cir = tr.GetObject(per.ObjectId, OpenMode.ForRead) :?> Circle
            let rad = cir.Radius
            let offset = 2. * rad - cir.Center.X
            let cSpace = tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) :?> BlockTableRecord
            circlePacking (cir.Center.X + offset) cir.Center.Y rad numSteps
            |> List.iter(fun ((x, y, k), step) ->
                let c = new Circle(Point3d(x - offset, y, 0.), Vector3d.ZAxis, 1. / abs k)
                c.ColorIndex <- numSteps - step + 1
                cSpace.AppendEntity(c) |> ignore
                tr.AddNewlyCreatedDBObject(c, true))
            tr.Commit()


Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 14 sur 46
patrick.emin
en réponse à: _gile

bitmoji-703728433.png


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 15 sur 46
Kevin_Megel
en réponse à: patrick.emin

@_gile ton dessin me fait penser a l’éponge de menger

Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.

EESignature

Je suis un simple utilisateur, je ne travaille pas pour Autodesk

Message 16 sur 46
_gile
en réponse à: Kevin_Megel


@Kevin_Megel wrote:

@_gile ton dessin me fait penser a l’éponge de menger


Il s'agit aussi d'une fractale, extension 3d du tapis de Sierpinsky, lui même dérivé du triangle du même Siepinski.

 

Entrer SIERPINSKI_EQ pour un triangle équilatéral ou SIERPINSKI_QQ pour un triangle quelconque, ne pas entrer un trop grand nombre pour l'ordre (< 12).

(defun drawSierpinski (i p1 p2 p3 / draw mid loop fract)
  (defun draw (p1 p2 p3)
    (entmake (list '(0 . "SOLID") (cons 10 p1) (cons 11 p2) (cons 12 p3) (cons 13 p3)))
  )
  (defun mid (p1 p2)
    (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.)) p1 p2)
  )
  (defun loop (i p1 p2 p3)
    (if	(< 0 i)
      (fract (1- i) p1 p2 p3)
      (draw p1 p2 p3)
    )
  )
  (defun fract (i p1 p2 p3)
    (loop i p1 (mid p1 p2) (mid p3 p1))
    (loop i (mid p1 p2) p2 (mid p2 p3))
    (loop i (mid p3 p1) (mid p2 p3) p3)
  )
  (loop i p1 p2 p3)
)

(defun c:SIERPINSKI_EQ(/ i c r)
  (and
    (setq i (getint "\nSpécifiez l'ordre (entier positif): "))
    (setq c (getpoint "\nCentre: "))
    (setq r (getdist c "\nRayon: "))
    (drawSierpinski
      i
      (polar c (/ pi 2) r)
      (polar c (/ (* 7 pi) 6) r)
      (polar c (/ (* 11 pi) 6) r)
    )
  )
  (princ)
)

(defun c:SIERPINSKI_QQ (/ i p1 p2 p3)
  (and
    (setq i (getint "\nSpécifiez l'ordre (entier positif): "))
    (setq p1 (getpoint "\nPoint 1: "))
    (setq p2 (getpoint "\nPoint 2: "))
    (setq p3 (getpoint "\nPoint 3: "))
    (drawSierpinski i p1 p2 p3)
  )
  (princ)
)

Il y avait aussi le flocon de Koch.

Entrer FLOCON, puis cliquer plusieurs fois Entrée (Annuler pour sortir).

(defun c:flocon (/ split fract unfract pl pts loop cnt col gr n)

  (defun split (lst)
    (if lst
      (cons (list (car lst) (cadr lst))
            (split (cddr lst))
      )
    )
  )

  (defun fract (lst / p1)
    (if (cadr lst)
      (cons
        (car lst)
        (cons
          (setq p1
                 (polar (car lst)
                        (angle (car lst) (cadr lst))
                        (/ (distance (car lst) (cadr lst)) 3)
                 )
          )
          (cons
            (polar p1
                   (+ (angle (car lst) p1) (/ pi 3))
                   (distance (car lst) p1)
            )
            (cons
              (polar p1
                     (angle (car lst) (cadr lst))
                     (/ (distance (car lst) (cadr lst)) 3)
              )
              (fract (cdr lst))
            )
          )
        )
      )
      (list (car lst))
    )
  )

  (defun unfract (lst)
    (if (cdr lst)
      (cons (car lst) (unfract (cddddr lst)))
      (list (car lst))
    )
  )

  (setq space (vla-get-ModelSpace
               (vla-get-ActiveDocument (vlax-get-acad-object))
             )
        pl (vlax-Invoke
             space
             'addLightWeightPolyline
             (list 0.0
                   0.0
                   1.0
                   0.0
                   1.5
                   (/ (sqrt 3) 2)
                   1.0
                   (sqrt 3)
                   0.0
                   (sqrt 3)
                   -0.5
                   (/ (sqrt 3) 2)
                   0.0
                   0.0
             )
           )
  )
  (vla-ZoomWindow
    (vlax-get-acad-object)
    (vlax-3d-point '(-2.0 -0.5 0.0))
    (vlax-3d-point '(3.0 2.3 0.0))
  )
  (prompt "\nEntrée pour continuer, Echap pour sortir: ")
  (setq cnt 0
        col 0
  )
  (while (setq gr (grread))
    (if (= (cadr gr) 13)
      (progn
        (setq pts (split (vlax-get pl 'Coordinates)))
        (vla-delete pl)
        (if (< cnt 5)
          (progn
            (setq pl (vlax-Invoke
                       space
                       'addLightWeightPolyline
                       (apply
                         'append
                         (fract pts)
                       )
                     )
            )
            (vla-put-Color pl (setq col (1+ col)))
            (setq cnt (1+ cnt))
          )
          (progn
            (setq pl (vlax-Invoke
                       space
                       'addLightWeightPolyline
                       (apply
                         'append
                         (unfract pts)
                       )
                     )
            )
            (vla-put-Color pl (setq col (1- col)))
            (setq cnt (rem (1+ cnt) 10))
          )
        )
      )
    )
  )
  (princ)
)

 



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 17 sur 46
Kevin_Megel
en réponse à: _gile

Juste Magnifique

Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.

EESignature

Je suis un simple utilisateur, je ne travaille pas pour Autodesk

Message 18 sur 46
_gile
en réponse à: _gile

Puisque ça semble plaire, j'ai un peu fouillé et j'en ai trouvé d'autres.

 

HEXAFRACT, le code LISP est (peut-être) un peu plus accessible: pas de récursivité (utilisation de blocs imbriqués), que des appels au commandes natives.

(defun c:hexafract (/ *error* l i c n a d)
  (defun *error* (msg)
    (and msg
         (/= msg "Fonction annulée")
         (prompt (strcat "\nErreur: " msg))
    )
    (foreach v '(clayer cmdecho osmode)
      (setvar v (eval v))
      (set v nil)
    )
    (princ)
  )
  (foreach p '((clayer . "0") (cmdecho . 0) (osmode . 0))
    (set (car p) (getvar (car p)))
    (setvar (car p) (cdr p))
  )
  (if (and (setq i (getint "\nNombre d'imbrication: "))
           (setq c (getpoint "\nCentre: "))
      )
    (progn
      (setq n 1
            a 0
            d (sqrt 3)
      )
      (or (tblsearch "BLOCK" "gile_hex0")
          (command-s "_.polygon" 6 c "_inscribe" (polar c (/ pi 2) 1))
          (command-s "_.block" "gile_hex0" c (entlast) "")
      )
      (repeat i
        (if (not (tblsearch "BLOCK" (strcat "gile_hex" (itoa n))))
          (progn
            (setq s (ssadd))
            (command-s "_.zoom" "_window" (polar c (* pi 1.25) d) (polar c (* pi 0.25) d))
            (repeat 6
              (command-s "_.insert" (strcat "gile_hex" (itoa (1- n))) (polar c a d) 1. 1. 0.)
              (ssadd (entlast) s)
              (setq a (+ a (/ pi 3)))
            )
            (command-s "_bhatch" "_properties" "solid" c "")
            (ssadd (entlast) s)
            (command-s "_.block" (strcat "gile_hex" (itoa n)) c s "")
          )
        )
        (setq n (1+ n)
              a (+ a (atan (sqrt 3) 5))
              d (* d (sqrt 7))
        )
      )
      (command-s "_.insert" (strcat "gile_hex" (itoa (1- n))) c 1. 1. 0.)
      (command-s "_chprop" (entlast) "" "_layer" clayer "")
      (command-s "_.zoom" "_object" (entlast) "")
      (command-s "_.zoom" "0.8x")
    )
  )
  (*error* nil)
)

Ou, un bouquet d'étoiles "aléatoires" avec CONSTEL (pas de fractales cette fois)

(defun c:constel (/ rng cen br ind ang dist n zdir lst1 lst2)
  (defun rng (/ modulus multiplier increment random)
    (if (not seed)
      (setq seed (getvar "DATE"))
    )
    (setq modulus    4294967296.0
          multiplier 1664525
          increment  1
          seed       (rem (+ (* multiplier seed) increment) modulus)
          random     (/ seed modulus)
    )
  )
  (command "_zoom" "_w" '(0 0) '(1600 1200))
  (while (setq cen (getpoint "\nSpécifiez un point: "))
    (setq br   (fix (+ (rem (* 100 (rng)) 8) 5))
          ind  (fix (/ (- br 0.5) 2))
          ang  (* (rng) pi)
          dist (+ 10 (* (rng) 100))
          n    (* 2 br)
          zdir (trans '(0 0 1) 1 0 T)
          lst1 nil
          lst2 nil
    )
    (repeat br
      (setq
        lst1
         (cons
           (polar cen (+ ang (/ (* (setq n (- n 2)) pi) br)) dist)
           lst1
         )
      )
    )
    (repeat br
      (setq lst2
             (cons (inters (nth n lst1)
                           (nth (rem (+ n br (- ind)) br) lst1)
                           (nth (rem (+ n (1- ind)) br) lst1)
                           (nth (setq n (rem (+ n (1- br)) br)) lst1)
                   )
                   lst2
             )
      )
    )
    (entmake
      (append
        (list '(0 . "LWPOLYLINE")
              '(100 . "AcDbEntity")
              (cons 62 (fix (+ (rem (* 100 (rng)) 6) 1)))
              '(100 . "AcDbPolyline")
              (cons 90 (* 2 br))
              '(70 . 1)
              (cons 38 (caddr (trans cen 1 zdir)))
              (cons 210 zdir)
        )
        (mapcar
          '(lambda (pt)
             (cons 10 (trans pt 1 zdir))
           )
          (apply 'append
                 (apply 'mapcar (cons 'list (list lst1 lst2)))
          )
        )
      )
    )
  )
  (princ)
)

 

Screencast will be displayed here after you click Post.

3ce94081-da32-445e-9e13-0f72d9cc642b

 



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 19 sur 46
_gile
en réponse à: _gile

Il y a quelques années, j'avais travaillé à un programme de simulation de sorties de route sur des circuits automobile avec représentation graphique sur AutoCAD.

 

slab.png



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 20 sur 46
rebcao
en réponse à: patrick.emin

Bonjour,

 

J'ai développé une application pour la Gestion Locative de Bureaux avec un visuel Graphique avec EXCEL et AutoCAD LT... Voici la vidéo qui illustre l'application...

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report