Results 1 to 4 of 4

Thread: import & insertion d'une image non référencée

  1. #1
    Woo! Hoo! my 1st post
    Join Date
    2011-05
    Posts
    1
    Login to Give a bone
    0

    Post import & insertion d'une image non référencée

    Bonjour à Tous,
    A force de chercher de façon marginal sur le net les éléments qui me manquent dans mes compétences de pseudo-programmateur, je vous poste le problème de mon lisp:
    Il s'agit de lire un fichier txt avec un certain nombre de paramètres qui serviront à renseigner les champs lors de l'insertion du mon image (ie point de base, facteur d'échelle, rotation X,Y,Z). Le paramètre manquant dans ce header est la résolution en pixel de l'image associée au txt (ils ont le même nom, l'extension change).
    Ce lisp, s'il fonctionne, traite un répertoire, donc batch une série de txt & png associés.
    Attention: je parts d'un dwg vierge, l'objectif est d’insérer des images pas encore référencées (aucune référence externe avant exécution du lisp).
    Mon problème est donc dans la récupération de la résol de l'image avant de l'insérer, car c'est ainsi que je calcule son échelle d'insertion.
    Mon soucis, dans le code, est que les commandes vla ne référencent que les objets déjà insérer dans le dwg. Si je récupère un fichier (getfiled), comment récupérer une métadonnée du fichier (largeur en pixel ?).
    . Merci d'avance !
    Last edited by bio_1664393634; 2011-09-20 at 04:11 PM.

  2. #2
    Active Member
    Join Date
    2015-09
    Location
    Québec (Bas-St-Laurent)
    Posts
    90
    Login to Give a bone
    0

    Default Re: import & insertion d'une image non référencée

    Je ne crois pas qu'un lisp pourra "lire" la résolution d'une image avant l'insertion, ni après d'ailleurs. La langue de programmation qui pourrait peut-être le faire est le VBA. Autrement plus complexe, mais aussi plus puissant.

  3. #3
    100 Club
    Join Date
    2002-08
    Posts
    187
    Login to Give a bone
    0

    Default Re: import & insertion d'une image non référencée

    Bonjour,

    En 98, j'avais écris quelques lignes pour faire un truc similaire.
    C'étaient des images .TIF auxquelles correspondait des fichiers en Ascii (à l'extension .HDR et avec nom identique à l'image)
    Ce bout de code m'insérait toutes les images du dossier, géo-référencées avec les donnée du fichier HDR.

    Bien que le code que je vais te livrer ne fonctionnera pas tel quel, il pourra être une base de départ pour résoudre la lecture de tes fichiers txt.

    Code:
    (defun espa (chn / )
    	(while (eq (substr chn 1 1) " ")
    		(setq chn (substr chn 2))
    	)
    	(while (/= (substr chn 1 1) " ")
    		(if (eq (substr chn 1 1) "")
    			(setq chn '" ")
    			(setq chn (substr chn 2))
    		)
    	)
    )
    (defun c:Scan100_Attach ( / select_file file_open line_read)
    	(setq select_file (getfiled "Sélection d'un fichier HDR : " "" "HDR" 2))
    	(cond
    		(select_file
    			(setq file_open (open select_file "r"))
    			(setq line_read (read-line file_open))
    			(while line_read
    				(set (read line_read)
    					(if (or (eq (type (read (espa line_read))) 'REAL) (eq (type (read (espa line_read))) 'INT))
    						(read (espa line_read))
    						nil
    					)
    				)
    				(setq line_read (read-line file_open))
    			)
    			(close file_open)
    			(if (and ULXMAP ULYMAP XDIM YDIM)
    				(command "_.-image" "_attach" (strcat (vl-string-right-trim "hdr" select_file) "tif") (list ULXMAP (- ULYMAP (* YDIM NROWS))) (* XDIM YDIM) 0.0)
    			)
    		)
    	)
    	(prin1)
    )
    Je te donne aussi le contenu pour exemple d'un fichier HDR pour pouvoir comprendre le fonctionnement du code fourni.
    !+
    !+--------------------------
    !+ HDR/A : Image Information
    !+--------------------------
    !+
    DELTA_X_ORIGIN 0.00 M
    DELTA_Y_ORIGIN 0.00 M
    MAPUNITS METERS
    ULXMAP 760000.00000 M
    ULYMAP 1920000.00000 M
    XDIM 10.00000 M
    YDIM 10.00000 M
    NROWS 3000
    NCOLS 4000
    NBANDS 0
    !+
    !+-----------------------------
    !+ HDR/B : Frame Corner Support
    !+-----------------------------
    !+
    NW_X_PIXEL 0.000
    NW_Y_PIXEL 0.000
    NE_X_PIXEL 0.000
    NE_Y_PIXEL 0.000
    SW_X_PIXEL 0.000
    SW_Y_PIXEL 0.000
    SE_X_PIXEL 0.000
    SE_Y_PIXEL 0.000
    !+
    !+----------------------
    !+ HDR/C : File Encoding
    !+----------------------
    !+
    NBITS 0
    BYTEORDER I
    SKIPBYTES 0
    RECORDSKIPBYTES 0
    BANDROWBYTES 0
    TOTALROWBYTES 0
    LAYOUT BIL
    !+
    !+---------------------------------------------
    !+ HDR/D : Reserved Values Support and Coloring
    !+---------------------------------------------
    !+
    BAND_RGB 1 2 3
    N_RESERVED_VALUES 0
    !+
    !+------------------------
    !+ HDR/E : More Parameters
    !+------------------------
    !+
    COSINUS 1.000000
    SINUS 0.000000
    RESOLUTION_H 254.00 DPI
    RESOLUTION_V 254.00 DPI
    PROJECTION LAMBERT2

  4. #4
    I could stop if I wanted to
    Join Date
    2007-08
    Posts
    201
    Login to Give a bone
    0

    Default Re: import & insertion d'une image non référencée

    le VBA. Autrement plus complexe, mais aussi plus puissant.
    À mon avis, pure légende, excepté pour les boites de dialogue (et encore, ce n'est plus vrai avec ObjectDCL ou OpenDCL).

    VBA utilise l'interface COM Automation qui est aussi accessible en LISP donc on a les même possibilités.

    À moins que tu ne veuilles parler de .NET...

Similar Threads

  1. image insertion
    By gugg in forum AutoCAD General
    Replies: 12
    Last Post: 2012-10-03, 09:06 PM
  2. Bug insertion d'image
    By da_silvaroger in forum Revit Architecture - Général
    Replies: 2
    Last Post: 2010-01-13, 09:47 AM
  3. Call the ghost image for a block insertion in .NET
    By artisteroi in forum Dot Net API
    Replies: 0
    Last Post: 2007-06-21, 05:58 PM
  4. Image Insertion Improvements
    By IanR in forum AutoCAD Wish List
    Replies: 2
    Last Post: 2005-10-10, 12:37 AM
  5. Image Scale and Insertion point
    By karen.perez in forum AutoCAD General
    Replies: 2
    Last Post: 2005-02-21, 07:19 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •