IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lisp Discussion :

modification d'un lisp pour autocad map 3d


Sujet :

Lisp

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut modification d'un lisp pour autocad map 3d
    Bonjour,

    J'ai récupéré un lisp pour inserer des bloc a la place de point sur autocad.
    Par contre j'aimerai le modifier afin de pouvoir ne l'appliquer que sur un calque donné tout en récuprant les données d'objets de ces points.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    ;;; Routine pour dessiner un Bloc sur des points graphiques
    ;;; Version 2 corrigee pour ne traiter que des points
    ;;; Commande:  P2B
    ;;;--------------------------------------------------------------------;
    ;;; PNT2BLK.LSP -  July 2001 - Original Routine 
    ;;; Place a block object in the location of selected point objects.
    ;;;--------------------------------------------------------------------;
    ;;; Function: PNT2BLK --> P2B
    ;;; function to convert point objects to blocks.
    ;;; block must be defined in the current drawing
    ;;; blocks including attdefs will not address the attributes
    ;;; if the block references attdefs with default or constant values, 
    ;;; these will be populated.
     
     
    (defun c:p2b (/ ss ct len e eb bname pt attreqhold echohold)
     
    ;;;get command echo setting and store it
    (setq echohold (getvar "CMDECHO"))
     
    ;;;set command echo off
    (setvar "CMDECHO" 0)
     
    ;;;get attribute request setting and store it
    (setq attreqhold (getvar "ATTREQ"))
     
    ;;;set attribute request off
    (setvar "ATTREQ" 0)
     
    ;;;get name of block to insert
    (setq bname (getstring "\nBlock name: "))
     
    ;;;check that the block is defined in the current drawing
    (if (tblsearch "block" bname)
    (progn
     
    ;;;prompt for point selection
    (princ "\nSelect point objects:")
     
     
    (if (setq ss (ssget '((0 . "POINT"))))
     
    (progn
     
    ;;;walk through point objects
    (setq len (sslength ss))
    (setq ct 0)
    (while (< ct len)
     
    ;;;for each point
    (setq e (ssname ss ct))
    (setq ct (+ ct 1))
    (setq eb (entget e))
    ;;;get insert point
    (setq pt (cdr (assoc 10 eb)))
    ;;;insert block
    (command "_insert" bname pt "" "" "")
    )
    )
     
    (princ "\nNo point  objects selected.")
    )
    )
    (princ "\nInvalid, block not defined in drawing.")
    )
     
    ;;;restore command echo setting to stored value
    (setvar "CMDECHO" echohold)
     
    ;;;restore attribute request setting to stored value
    (setvar "ATTREQ" 0)
     
    (princ)
    )
    Est ce que quelqu'un a la solution a mon problème???

    De plus j'aimerai savoir s'il existe une bibliotheque de lisp pour autocad??

    Merci par avance.

  2. #2
    Membre habitué
    Inscrit en
    Juin 2002
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 195
    Points : 136
    Points
    136
    Par défaut
    de quel plan parles-tu
    celui actif,
    celui du point
    (setvar "clayer" ..) pour le plan actif
    (if (setq ss (ssget '((0 . "POINT")(8 . "unPlan")))))

Discussions similaires

  1. Copie Multiples en Lisp pour AutoCad
    Par grekenski108 dans le forum Lisp
    Réponses: 0
    Dernier message: 14/09/2012, 02h40
  2. [Collections] Problème de clés pour les Maps.
    Par berg dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 01/03/2006, 22h20
  3. [Langage][Map] Quel langage pour une map
    Par Aldur dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 23/12/2005, 12h44
  4. Quel format de fichier utiliser pour les maps ?
    Par fb57 dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/09/2004, 21h22
  5. Réponses: 2
    Dernier message: 11/07/2003, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo