• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Dessiner des cercles en important des données d'Excel

Lollosilva

Guest
salut, je voudrais savoir s'il est possible de créer un design en autocad en prenant les données (x,y, rayon) d'une table d'excel, je dois essentiellement créer une série de circonférences ayant les rayons et les coordonnées du centre
merci d'avance.
 
donc il n'y a aucune chance ?
je voulais aussi savoir si vous pouvez extraire du dessin déjà fait une table d'excel ou en tout cas une table où il y a les valeurs du dessin, dans mon cas x,y, rayon
je vous remercie. .
 
essayé en 2006, il ne fonctionne pas, malgré avoir soumis un micro-fichier d'excel avec seulement 1 disque..

:
avec l'autocad italien ne fonctionne pas, j'ai fait une petite modification ici:
http://www.cad3d.it/forum1/showthread.php?t=14033

donc il n'y a aucune chance ?
je voulais aussi savoir si vous pouvez extraire du dessin déjà fait une table d'excel ou en tout cas une table où il y a les valeurs du dessin, dans mon cas x,y, rayon
je vous remercie. .
il y a aussi une solution très banale, celle de créer un script.
dans excel, créez une colonne avec une formule

=concatena(a2;","b2;"c2;"""

où a2 et b2 sont les coordonnées et c2 le rayon du cercle.
il suffit de copier la colonne avec la formule dans le bloc de note et d'entrer la commande _circle au début du texte avec les coordonnées. puis vous devez enregistrer l'extension de fichier .scr et le glisser vers autocad. et automatiquement vous aurez tous vos beaux cercles.
plus longtemps pour l'expliquer que pour le faire.
 
avec autocad italien ne fonctionne pas
mais en fait je l'ai essayé à la fois sur mon acad en anglais, et dans l'un des collègues polonais, et cela ne fonctionne en aucune façon, mais je ne...
il y a une solution très banale, pour créer un script. dans excel, créez une colonne avec une formule
vrai, malheureusement lollosilva (stamani à 9:09) demandé exactement le contraire: comment exporter les caractéristiques des cercles da autocad vers excellent.

avec la version de carte est une opération triviale (via forme), mais avec la version "normale" je ne sais pas exactement.. .

d'autres idées ?
 
mais en fait je l'ai essayé à la fois sur mon acad en anglais, et dans l'un des collègues polonais, et cela ne fonctionne en aucune façon, mais je ne...
dès que j'aurai un moment, je réessayerai.
..vero, malheureusement lollosilva (stamani à 9:09) a demandé le contraire exact: comment exporter les caractéristiques des cercles da autocad vers excellent.

avec la version de carte est une opération triviale (via forme), mais avec la version "normale" je ne sais pas exactement.. .

d'autres idées ?
vous avez raison. j'ai mal lu !
nous attendons qu'il précise ce qu'il veut exactement.
 
excusez-moi, je vous ai fait foirer.
j'aurais besoin des deux méthodes, c'est-à-dire que, vu une table excel me fait le design en autocad 2011 (toujours donner comme x,y entrée, rayon) et celui qui, fait le design en autocad me donne une table avec x,y valeurs et rayon. .
je vous remercie.
 
excusez-moi, je vous ai fait foirer.
j'aurais besoin des deux méthodes, c'est-à-dire que, vu une table excel me fait le design en autocad 2011 (toujours donner comme x,y entrée, rayon) et celui qui, fait le design en autocad me donne une table avec x,y valeurs et rayon. .
je vous remercie.
puis pour la première demande, excel verse autocad, vous pouvez utiliser la solution de script que j'ai mentionnée ci-dessus.
pour générer la table, da autocad a excel, vous pouvez utiliser la commande estrdati. vous avez la possibilité de choisir les éléments à extraire, puis en sélectionnant comme option de géométrie vous pouvez exporter les éléments que vous voulez (zone, diamètre, coordonnées, rayon).
 
sous-discerchi()

dim newlayer comme acadlayer

dim ssetobj comme acadselectionset
dim cerchio en acadcircle
dim layercerchi comme chaîne

dim pt(0 à 2) double
dim r comme double

dim riga comme entier

dim excelsheet comme objet
dim strfilename comme chaîne

ensemble excelsheet = getobject("c:\tabellacerchi.xls")

excelsheet.application.visible = vrai

layercerchi = "cerchi"

cedrawing.layers.add layercerchi
set newlayer = thisdrawing.layers(layercerchi)
ce dessin. couche active = nouvelle couche

riga = 3
faire pendant excelsheet.application.cells(riga, 1) <> ""

pt(0) = excelsheet.application.cells(riga, 2)
pt(1) = excelsheet.application.cells(riga, 3)
r = excelsheet.application.cells(riga, 4)

cedrawing.modelspace.addcircle pt(), r

riga = riga + 1

boucle

fin sous

scompatta il fichier en c:\, aprilo e vai en autocad.
avvia la macro discerchi.
i cerchi sono disegnati sul couche cerchi.

au revoir.
 

Pièces jointes

bon rpor66, il fonctionne magnifiquement!

en attendant, j'ai réussi à lancer le lispin signalé par pr...
xls2acad.gif
qui dessine correctement les cercles de coordonnées xyz, mais malheureusement de diamètre unique pour tous les cercles...

rmr66,
peut-être que si vous envoyez votre macro à mr. jefferypsanders, qui sait, peut-être que tu auras une bouteille de yankee de bourbon. . . .
smile.gif
 
puis pour la première demande, excel verse autocad, vous pouvez utiliser la solution de script que j'ai mentionnée ci-dessus.
pour générer la table, da autocad a excel, vous pouvez utiliser la commande estrdati. vous avez la possibilité de choisir les éléments à extraire, puis en sélectionnant comme option de géométrie vous pouvez exporter les éléments que vous voulez (zone, diamètre, coordonnées, rayon).
j'ai des autocads en anglais, comment puis-je insérer la commande "extérieure" ?
 
je n'ai pas vérifié les valeurs, mais elles ont l'air justes. maintenant, je dois voir si je peux de table excel pour créer du dessin autocad.
merci beaucoup à tous. :
 
sous-discerchi()

dim newlayer comme acadlayer

dim ssetobj comme acadselectionset
dim cerchio en acadcircle
dim layercerchi comme chaîne

dim pt(0 à 2) double
dim r comme double

dim riga comme entier

dim excelsheet comme objet
dim strfilename comme chaîne

ensemble excelsheet = getobject("c:\tabellacerchi.xls")

excelsheet.application.visible = vrai

layercerchi = "cerchi"

cedrawing.layers.add layercerchi
set newlayer = thisdrawing.layers(layercerchi)
ce dessin. couche active = nouvelle couche

riga = 3
faire pendant excelsheet.application.cells(riga, 1) <> ""

pt(0) = excelsheet.application.cells(riga, 2)
pt(1) = excelsheet.application.cells(riga, 3)
r = excelsheet.application.cells(riga, 4)

cedrawing.modelspace.addcircle pt(), r

riga = riga + 1

boucle

fin sous

scompatta il fichier en c:\, aprilo e vai en autocad.
avvia la macro discerchi.
i cerchi sono disegnati sul couche cerchi.

au revoir.
désolé de vous déranger, mais je ne suis pas encore très expérimenté, j'ai téléchargé votre fichier .zip, j'ai ouvert le fichier excel, alors que dois-je faire? (j'ai autocad en anglais, donc le commandement que vous devriez me donner en anglais) excuse encore et merci. .
 
le fichier dvb que vous deviez créer.
à partir d'autocad via les outils / charger l'application sélectionner et cliquer sur charger, puis toujours dans les outils aller sur macro / macros, exécuter disquerchi.

au revoir.
 

Pièces jointes

sous-discerchi()

dim newlayer comme acadlayer
dim i comme entier

dim ssetobj comme acadselectionset
dim cerchio en acadcircle
dim layercerchi(0 à 4) comme chaîne

dim pt(0 à 2) double
dim r comme double
dim tipo comme entier
dim riga comme entier

dim excelsheet comme objet
dim strfilename comme chaîne

ensemble excelsheet = getobject("c:\tabellacerchi.xls")

excelsheet.application.visible = vrai

layercerchi(0) = "cerchi1"
layercerchi(1) = "cerchi2"
couchecerchi(2) = "cerchi3"
layercerchi(3) = "cerchi4"
layercerchi(4) = "cerchi5"

sélectionner le cas (tipo)
cas 1 ou 2 ou 4
cedrawing.layers.add layercerchi(0)
set newlayer = thisdrawing.layers(layerchi(0))
ce dessin. couche active = nouvelle couche
cas 3 ou 8 ou 12 ou 16 ou 20 ou 24 ou 28
cedrawing.layers.add layercerchi(1)
set newlayer = thisdrawing.layers(layerchi(1))
ce dessin. couche active = nouvelle couche
cas 5 ou 6 ou 7 ou 9 ou 10 ou 11 ou 13 ou 14 ou 15 ou 17 ou 18 ou 19 ou 21 ou 22 ou 23 ou 25 ou 26 ou 27
cedrawing.layers.add layercerchi(2)
set newlayer = thisdrawing.layers(layerchi(2))
ce dessin. couche active = nouvelle couche
cas 30 ou 31
cedrawing.layers.add layercerchi(3)
set newlayer = thisdrawing.layers(layerchi(3))
ce dessin. couche active = nouvelle couche
fin de sélectionner

riga = 3
faire pendant excelsheet.application.cells(riga, 1) <> ""

pt(0) = excelsheet.application.cells(riga, 2)
pt(1) = excelsheet.application.cells(riga, 3)
r = excelsheet.application.cells(riga, 4)
tipo = excelsheet.application.cells(riga, 5)

cedrawing.modelspace.addcircle pt(), r, tipo

riga = riga + 1

boucle

fin sous


ho modificato il programma, per creare 5 layer diversi(per il momento ne usezo solo 4) in modo da poterli colorare per distinguere le parti diverse nel disegno, per distinguere le diverse parti di disegno le ho divise con un numéro che verrà letto da tabella, e poi verranno raggruppate in uno stesso layer per avere solo 4 layer e non 30.
adesso non funzona ho provato a capire come modificarlo ma non ci riesco,grazie in anticipo..
 
avec l'autocad italien ne fonctionne pas, j'ai fait une petite modification ici:
http://www.cad3d.it/forum1/showthread.php?t=14033Il y a aussi une solution très banale, celle de créer un script.
dans excel, créez une colonne avec une formule

=concatena(a2;","b2;"c2;"""

où a2 et b2 sont les coordonnées et c2 le rayon du cercle.
Il suffit de copier la colonne avec la formule dans le bloc de note et d'entrer la commande _circle au début du texte avec les coordonnées. puis vous devez enregistrer l'extension de fichier .scr et le glisser vers autocad. et automatiquement vous aurez tous vos beaux cercles.
plus longtemps pour l'expliquer que pour le faire.
Excusez-moi pour la curiosité, voulez-vous me faire comprendre comment vous pourriez écrire le lisp ?
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut