Aller au contenu

Insertion d'un Nuage de Point dans le SCU Général


Messages recommandés

Posté(e)

Bonjour à toutes et à tous,

J'utilise beaucoup de Nuage de Points de Autocad et j'aimerai pouvoir insérer une seule position (fichier RCS) dans mon dessin au fur et à mesure de mon avancement.

Je peux bien sur le faire par la commande  PointCloudAttach, mais je suis obligé de revenir en SCU général à chaque insertion alors que je travail dans un SCU objet puis un SCU Vue.

J'ai bien essayer sans résultat d'intégrer cette volonté dans un lisp mais sans résultat, mon problème étant sur l'insertion du nuage en SCU Général étant dans un SCU Local. 

Quelqu'un pourrait m'aider sur ce sujet afin de me faciliter un peu la vie car j'ai beaucoup de position à mettre une par une sans avoir toutes les positions actives dans Autocad.

Merci par avance.

Posté(e)

Coucou,

Regarde du côté de la fonction (trans) pour faire le changement de base entre le SCU (= 1) et le SCG (= 0) ou directement avec l'ename de l'objet. Voici un exemple d'utilisation :

(setq pt (getpoint "\nSaisir un point :"))
(setq pt (trans pt 1 0))
;; ou
(setq pt (getpoint "\nSaisir un point :"))
(setq name (car (entsel "\nSélectionner l'objet source du SCO courant :")))
(setq pt (trans pt name 0))

Bisous,
Luna

Posté(e)

Merci pour ta piste mais j'ai vraiment du mal à intégrer cette nouvelle fonction dans ma ligne de commande : (command ".PointCloudAttach" "0,0,0" "~")

Comment puis-je faire ? SVP

Posté(e)

et bien chaque fois que tu spécifies un point depuis un SCU mais que les coordonnées doivent être en SCG, tu l'utilises. Par exemple je suppose que dans ta ligne 

(command ".PointCloudAttach" "0,0,0" "~")

Tu veux que le point "0,0,0" soit en coordonnées SCG et non SCU ? Donc tu écris :

(command ".PointCloudAttach" (trans '(0.0 0.0 0.0) 1 0) "~")

Cependant en lançant la commande ".POINTCLOUDATTACH", la première chose que la commande me demande c'est de sélectionner un fichier de nuage de point via une fenêtre windows. Or dans ton programme, la première chose que tu renseignes est un point d'insertion...Cela ne pose-t-il pas déjà un soucis ?
De plus je ne connais pas le "~", à quoi sert-il ?

Bisous,
Luna

Posté(e)

Salut,

Première chose, les arguments passés à la fonction command ne sont pas forcément des chaînes de caractères, on peut passer directement des nombres entiers ou réels, des listes de nombre ou n'importe quelle expression qui renvoie un type valide.

Dans ton cas, tu pourrais remplacer "0,0,0" par une liste LISP représentant un point : '(0 0 0). La fonction command fonctionne toujours en coordonnées SCU courant, donc si tu veux insérer ton nuage à l'origine du SCG, il faut que tu transforme le point '(0 0 0) du SCG en coordonnées SCU avec la fonction trans : (trans '(0 0 0) 0 1).

Donc tu remplaces : "0,0,0" par : (trans '(0 0 0) 0 1).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Je comprends l'idée mais je n'arrive pas à appliquer la moindre ligne de code pour faire inserer mon nuage en SCG étant dans SCU, la commande d'insertion du nuage m'impose de lui rentrer des coordonnées qui saborde tout et donc je dois a chaque fois revenir en SCG et retourner en SCU 😞

Posté(e)

Essaye comme ça, en remplaçant : "C:\\Nuages\\Nuage.rcp" par le vrai chemin de ton ficher (avec des doubles barres obliques inverses (\\) comme séparateurs) et, si besoin l'échelle (1) et la rotation (0).

(command "_.pointcloudattach" "C:\\Nuages\\Nuage.rcp" "_non" (trans '(0 0 0) 0 1) 1 0)

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Petite avancée grâce a vous, car je n'ai plus la boite de dialogue qui me demande les coordonnées (c'est un très bon début).

Mais il m'insère le nuage quand même dans le SC LOCAL et pas General 😞

(command "_-pointcloudattach" "C:\\Q100.rcs" "_non" (trans '(0 0 0) 0 1) 1 0)

Posté(e)
il y a 52 minutes, willy95 a dit :

Mais il m'insère le nuage quand même dans le SC LOCAL et pas General

peux tu être plus explicite. Tu parles du point d'insertion et/ou de la rotation ?

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Effectivement avec cette ligne ci-dessous, il insert quand meme le nuage dans le scu objet/vue au lieu d'etre inserer dans le scu général (quand je suis dans le scu objet/vue)

(command "_-pointcloudattach" "C:\\monnuage.rcs" "_non" (trans '(0 0 0) 0 1) 1 0)

Je ne vois pas ce que je fais de mal 😞

 

 

Posté(e)

Super, MERCI Gile, cette dernière ligne fonctionne et insert le nuage dans le scu General en etant dans un scu objet/vue.

Il me reste plus qu'a trouver une solution pour avoir un invité de commande qui nous demande de choisir un fichier dans une boite de dialogue plutot que d'imposer un nom.rcs. 

Merci encore.

Posté(e)

Génial ! ça fonctionne 🙂

(setq nomnuage (getfiled "Choisir la position" "C:/" "rcs" 8))

(command "_ucs" "_world" "_-pointcloudattach" nomnuage "_non" '(0 0 33.82) 1 0 "_ucs" "_previous")

Merci encore pour vos aides précieuses

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é