Aller au contenu

LISP de conversion de materiaux en couleurs


Messages recommandés

Posté(e)

Bonjour

 

Je travaille très régulièrement avec des conversion de STEP en DWG ( via INVENTOR )

 

Je recherche un LISP ou une solution me permettant de transformer un objet dont le matériau est du type 012,345,678 en couleur forcée 012,345,678

 

Il m'arrive dans les plans d'avoir des matériaux

 

012,345,678(1)

012,345,678(2)

012,345,678(3)

.....

 

Merci

post-76278-0-88748100-1594889788_thumb.jpg

post-76278-0-14777400-1594889793_thumb.jpg

post-76278-0-92086000-1594889797_thumb.jpg

Posté(e)

Hello

 

SVP tu peux nous mettre un DWG exemple a disposition pour voir !?

 

Par Download Free, WETransfert ou etc ...

 

LA SANTE (Stay Safe), Bye, lecrabe "triste"

Automne 2020, la retraite

Autodesk Expert Elite Team

Posté(e)

Hello

 

OK Merci pour le DWG !

 

En effet tes noms de materiaux sont un peu curieux !

Les mysteres de la norme STEP !?

Ces objets 3D STEP proviennent de quel logiciel ??

 

RAPPEL: as tu essaye avec ton AutoCAD la commande IMPORTER ??

Qui sait lire "plus ou moins bien" de nombreux formats 3D !

 

De plus ces codes couleurs RGB ne sont pas normaux, car en general on attend des valeurs du genre 0-255

Tes codes couleurs sont codes en quoi ??

 

1) Comprendre le code couleur !

 

2) Developpement specifique pour supprimer (xxx) et affecter la bonne couleur forcee RGB aux objets concernes !

 

LA SANTE (Stay Safe), Bye, lecrabe "triste"

Automne 2020, la retraite

Autodesk Expert Elite Team

Posté(e)

;; gc:str2lst
;; Transforme un chaine avec séparateur en liste de chaines
;;
;; Arguments
;; str : la chaîne
;; sep : le séparateur
(defun gc:str2lst (str sep / len lst)
 (setq len (strlen sep))
 (while (setq pos (vl-string-search sep str))
   (setq lst (cons (substr str 1 pos) lst)
  str (substr str (+ len pos 1))
   )
 )
 (reverse (cons (substr str 1 pos) lst))
)

(defun c:M2rvb()
 (setq truc (vlax-ename->vla-object(car(entsel))))
 (setq mat(vla-get-Material truc))
 (cond((member mat '("ByLayer" "ByBlock" "Global")))
      ((=(length(setq listervb(gc:str2lst mat "_")))3);(setq mat "0_102_153")
(vl-catch-all-apply
  (function
    (lambda ( / c )
      (and
	(= 3 (setq listervb(gc:str2lst mat "_")))
	(setq c (vla-get-TrueColor truc))
	(progn (vla-put-ColorMethod c acColorMethodByRGB) (apply 'vla-SetRGB (cons c listervb)) (vla-put-TrueColor listervb c) )
	))))
))
 )

Un petit code vite fait.

Lancer M2rvb

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Bonjour

 

Désolé du temps de réponse

Je suis en vacances a la fin de la semaine ( enfin .....)

Je suis surbookée pour finir les affaires en cours

Je ferrais appel a votre gentillesse des mon retour de vacances ( le + tard possible ) et bien sur a votre retours de vacances aussi

Bonne VACANCES A TOUS

 

Merci

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité