• 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.

Construisez des séries polylines à partir de données Excel

  • Auteur du sujet Auteur du sujet wallace&gromit
  • Date de début Date de début

wallace&gromit

Guest
Bonjour à tous, Je suis nouveau au forum et plutôt inexpérimenté par autocad.
J'ai un fichier excel dans lequel j'ai calculé les coordonnées d'une série de lignes (en milliers de paquets), chacune comprenant 3 points. Maintenant, je voudrais représenter tout en autocad, j'imagine avec une macro d'excellence (dans ceux que je câblé assez). J'ai vu quelque chose sur le forum, mais seulement pour le passage d'une polylinea.
 
Vous pouvez utiliser un script. dans le forum il y a un fichier Excel qui le crée automatiquement. fusionner les fonctionnalités Excel pour automatiser tout
 
Oui, l'idée pourrait être celle-ci. Mais pour partir, j'aurais besoin d'informations supplémentaires sur les commandes autocad à insérer. Dans les exemples, des impressions et des sauvegardes sont effectuées, je dois tracer les polylignes.
 
Dans les exemples, des impressions et des sauvegardes sont effectuées, je dois tracer les polylignes.
sont des exemples plus courants pour montrer comment fonctionne le générateur de script. cela signifie fondamentalement que vous devez ramener les commandes que vous lancez dans autocad pour faire les opérations dont vous avez besoin

puis basique les commandes doivent être polylinea suivi par les coordonnées de trois points et l'option fermer puis quitté avec la nouvelle polylinea
 
Pardonnez-moi, mais j'ai dit que je suis une chèvre autocade.
Donc, je voulais faire un simple test d'insertion polylinéaire. dans autocad, je dois insérer les commandes "_pline"; "16,23";"17,24";"ch" et créer un segment entre ces deux points.
J'ai essayé de générer le script à partir d'excel et d'insérer sur 4 lignes différentes ces commandes. puis j'ai généré le fichier script
par autocad J'ai tapé "script", choisi le fichier qui vient de créer et lancé le script. Mais il ne se passe rien !
 
les coordonnées doivent être insérées dans la même ligne. les décimales doivent être écrites avec le point.
donc la coordination de la pinte sera 10.54,17.63.
avant d'écrire le code, vous devez faire la commande sur autocad en écrivant sur une feuille les commandes et en gardant à l'esprit que le saut en ligne du script correspond à l'envoi en autocad
 
autre chose importante
dans l'excel dans la colonne de fichier doit être présent du texte. peu importe s'il est rappelé dans le code, vous pouvez également écrire x, mais il sert à créer le code sinon le fichier de script est vide (il suffit de l'ouvrir avec un bloc de note pour le vérifier)
 
Je n'ai pas encore résolu ! quand en autocad je dois terminer une polyline sans la fermer prémo entrer. Je pensais pouvoir faire de même en laissant une ligne blanche dans le script Excel, mais ça ne marche pas. Comment je fais ça ?
 
J'ai trouvé : Je dois insérer un espace sur la même ligne que le dernier point de polylinea.
puis tête pour écrire à nouveau _pline.
pour l'instant cela semble bien, merci encore du soutien!
 
à ceux qui devraient rencontrer mes propres problèmes marquent aussi une autre curiosité: exceller dans certains cas ne m'a pas permis de sauvegarder le format numérique, chiffre: 4500.1200 a été automatiquement transformé en 45001200.
pour contourner ce problème J'ai trouvé une faille qui illumine en bas. J'ajoute également le code simplifié que j'utilise pour lancer le script (voir que je n'ai pas besoin d'autres fonctions que de simplement remplir ce que je trouve dans la colonne av).
...
range("av" & urout + 1) = "_pline"
range("at" & urout + 2) = progprec
range("at" & urout + 3) = progm
range("at" & urout + 4) = progsucc
range("au" & urout + 2) = zprec
range("au" & urout + 3) = zm
range("au" & urout + 4) = zsucc
range("av" & urout + 2).formulalocal = range("at" & urout + 2) & "," & range("au" & urout + 2)
range("av" & urout + 3).formulalocal = range("at" & urout + 3) & "," & range("au" & urout + 3)
range("av" & urout + 4).formulalocal = range("at" & urout + 4) & "," & range("au" & urout + 4) & " "

next i

call creascript

end sub

sub creascript()
scriptname = application.getsaveasfilename("", filefilter:="file di testo (*.scr), *.scr")
on local error resume next
kill scriptname
on error goto 0

open scriptname for output as 1
i = 2
do until range("av" & i) = ""
print #1, range("av" & i).text
i = i + 1
loop
close 1
range("av2").select

end sub
 
entre autres choses, l'étrange chose est que la même opération faite avec les formules ne donne pas de problèmes, seulement avec les macros et avec un second nombre plus grand que les mille (ce parce que je suppose excelle interprète la virgule comme un séparateur des milliers)
 

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