CadXP: Hachure - CadXP

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Hachure Hachures personnalisées

#1 L'utilisateur est hors-ligne   Crook 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 10
  • Inscrit(e) : 19-mars 10

Posté 08 juillet 2020 - 13:30

Bonjour à tous
Question à propos de hachures personnalisées .
J'ai récupéré un plan avec des exemples de hachures (des rectangles hachurés avec de "vraies" hachures).
J'aimerais utiliser ces hachures pour mes futurs travaux en les plaçant dans une palette d'outils par exemple.
Mais autocad me dit que ces motifs n'existent pas dans le fichier de motif.
La méthode de hachurage par le bouton "hériter les propriétés" ne fonctionne pas non plus.
Je suppose qu'il faudrait ajouter ces nouveaux motifs dans le fichier de motif : mais je ne sais pas comment et je n'ai pas trouvé l'info ici.
Un coup de main m'arrangerait bien.
Merci beaucoup.
0

#2 L'utilisateur est hors-ligne   vincentp010 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 632
  • Inscrit(e) : 19-décembre 07

Posté 08 juillet 2020 - 15:44

Bonjour,

Il te faut les fichiers PAT des hachures.
J'avais récupéré un lisp de Bonuscad qui les recréer à partir de hachures existantes dans le dessin
;; Apply a transformation matrix to a vector by Vladimir Nesterovsky
(defun mxv (m v)
  (mapcar '(lambda (r) (apply '+ (mapcar '* r v))) m)
)

;;;**************************************************************************;;;
;; D'après Bonuscad
;; Retourne dans la fenêtre de texte la définition d'un motif de hachure.
;; Propose l'enregistrement dans un fichier.

(defun c:model_hatch
       (/ err zindim ent elst vec rot scale nb ang n first)

  (defun err (msg)
    (if	(= msg "Fonction annulée")
      (princ)
      (princ (strcat "\nErreur: " msg))
    )
    (setvar "dimzin" zindim)
    (setq *error* m:err
	  m:err	nil
    )
    (princ)
  )

  (setq	m:err *error*
	*error*	err
  )
  (while (not (setq ent (entsel "\nChoix de la Hachure modèle: ")))
  )
  (setq	elst   (entget (car ent))
	zindim (getvar "dimzin")
  )
  (if (= (getvar "measurement") 1)
    (setvar "dimzin" 8)
    (setvar "dimzin" 12)
  )
  (if (= (cdr (assoc 0 elst)) "HATCH")
    (progn
      (setq
	descr (strcat "\n*" (cdr (assoc 2 elst)))
	rot   (cdr (assoc 52 elst))
	scale (/ 1.0 (cdr (assoc 41 elst)))
	nb    (cdr (assoc 78 elst))
	first T
      )
      (repeat nb
	(setq elst  (member (assoc 53 elst) elst)
	      ang   (cdar elst)
	      descr
		    (strcat descr
			    "\n"
			    (angtos (- ang rot) 0 14)
		    )
	      elst  (cdr elst)
	)
	(repeat	2
	  (setq	vec
		 ((lambda (a)
		    (mxv (list
			   (list (cos a) (- (sin a)) 0.0)
			   (list (sin a) (cos a) 0.0)
			   '(0.0 0.0 1.0)
			 )
			 (list (* scale (cdar elst))
			       (* scale (cdadr elst))
			       0.0
			 )
		    )
		  )
		   (if first
		     (- rot)
		     (- ang)
		   )
		 )
	  )
	  (setq first nil)
	  (setq	descr (strcat descr
			      ","
			      (rtos (car vec) 2 14)
			      ","
			      (rtos (cadr vec) 2 14)
		      )
		elst  (cddr elst)
	  )
	)
	(repeat	(cdr (assoc 79 elst))
	  (setq elst (cdr elst))
	  (setq	descr (strcat descr
			      ","
			      (rtos (* scale (cdar elst)) 2 14)
		      )
	  )
	)
	(setq first T)
      )
      (textscr)
      (princ descr)
      (initget "Oui Non")
      (if (and
	    (= (getkword
		 "\nEnregistrer dans un fichier ? [Oui/Non] <Non>: "
	       )
	       "Oui"
	    )
	    (setq file (getfiled "Sélectionnez un fichier"
				 (if (= (getvar "measurement") 1)
				   (findfile "acadiso.pat")
				   (findfile "acad.pat")
				 )
				 "pat"
				 33
		       )
	    )
	  )
	(progn
	  (setq file (open file "a"))
	  (princ (strcat (substr descr 2) "\n") file)
	  (close file)
	)
      )
      (graphscr)
    )
    (T (prompt "\nEntité n'est pas une hachure."))
  )
  (setvar "dimzin" zindim)
  (setq	*error*	m:err
	m:err nil
  )
  (princ)
)



Ça va te marquer dans la console la définition de hachure, par exemple:
*POTAG1
90,0,0,0,5,4,-1
0,-0.5,0.5,0,5,4,-1


Tu l'enregistres dans un chemin de recherche des fichiers de support sous le nom du motif
Par exemple ici *POTAG1 dans le fichier POTAG1.pat
Un fichier par motif, tu créer autant de fichier que de motif personnalisé.

Le motif apparaitra ensuite dans l'onglet personnalisation de la palette des motifs de hachures
Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox....xifscr.zip?dl=0
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)