Jump to content

punky0147

Membres
  • Content Count

    28
  • Joined

  • Last visited

Community Reputation

0 Neutral

About punky0147

  • Rank
    ceinture orange

Contact Methods

  • Website URL
    http://
  1. Je finalise et j'envoie (j'ai pas trop le temps de bosser dessus ces jours). Par contre, c'est vrai qu'un des avantages de la version de sechanbask, c'est que l'execution est rapide (la mienne est très longue...).
  2. Je suis à la fois content et décu que tu aies posté cette appli, je travaillais sur un projet similaire (quasiment abouti). J'espère ne pas dire de bétise, mais bon, j'ai l'impression que ca n'est pas encore 100% au point. Je m'explique : j'ai un fond de plan archi, après nettoyable du plan (toutes options cochées), j'ai encore des objets qui n'ont pas la couleur du calque (couleur 8) (textes, polyligne, éléments à l'intérieurs de blocs)... le calque n'est pas vérouillé ni rien... je vois pas trop de quoi ca vient. Les hachures ne sont pas toutes déplacées non plus sur un calque --hachures. Br
  3. ce que je trouve aussi qui complique beaucoup les choses, c'est le nombres d'entités différentes que l'ont peut trouvé sur autocad (lignes, polypignes, multilignes, cercles, splines, ...). Une solution très lourde serait peut-être de décomposé tous les éléments pour revenir à des entités "de base", et ensuite, de poser des boucles qui testent pour tous les points de ces éléments, les distances et angles relatif. Je ne sais pas si c'est réalisable et si ca donnerait qqch
  4. Je crois avoir déjà vu un post évoquant ce genre d'application, mais sans occune solution apportée. Peut-être une personne a-t-elle eu le courage depuis de développer une macro de ce genre : l'objectif : à partir d'une forme connue (composée de divers objets), être capable de reconstituer sous forme de blocs toutes les formes similaires (quelque soit la rotation, et éventuellement l'échelle des objets en question).
  5. Je cherche à faire une extraction d'attributs un peu plus poussée que celle proposée par AutoCAD. Pour celà, j'aimerai recréer une interface similaire à celle de l'extraction d'attributs. Je n'arrive pas à trouver de contrôle me permettant d'avoir des checkbox dans ma liste (style listebox avec multiselect) qui me permette à la fois de cocher ou non la case qui m'intéresse et de sélectionner la ligne qui m'intéresse pour acceder au éléments propre à cet élément. (cf interface d'extraction d'attributs). Existe-t-il un contrôle qui permette de réaliser cette interface d'une manière simple et dir
  6. Je cherche à passer tous les éléments d'un document sur un même calque (calque 0 par exemple) et avec pour couleur "du calque", y compris les éléments internes aux blocs. Pour celà, je modifie toutes les définitions des blocs (thisdrawing.blocks) en mettant le calque à 0 et la couleur à "du calque", ensuite, je passe tous les objets du document (lignes, blocs, ...) que je met sur le calque 0 avec la couleur "du calque", je fait un update pour les blocs. Cependant, dans le cas de blocs imbriqués, les attributs se trouvant dans un bloc imbriqué ne changent pas de propriété (malgrés la redéfiniti
  7. Merci beaucoup, effectivement, celà fonctionne pour le tracé d'une ligne, mais pour aller plus loin : est-il ou non possible de mettre en stand by l'execution d'une macro pour laisser l'utilisateur agir sur le document ouvert et reprendre ensuite l'execution par appuis par exemple sur un bouton "ok" dans une fenetre non modale affichée. ??? (ou plus simplement par exemple si je veux que l'utilisateur dessine dynamique un cercle, avec le même aspet visuel dynamique que la commande cercle)
  8. Si quelqu'un a une solution, celà m'intéresserait beaucoup, celà fait maintenant bien longtemps que je cherche ce genre de code dans l'aide ou sur le net. Une question un peu différente mais permettant le même genre de gestion utilisateur : Est-il possible de mettre en attente l'application vba jusqu'à la fin d'une commande ; exemple : 1-Le programme tourne 2-On demande à l'utilisateur de tracer une polyligne 3-L'utilisateur dessine sa polyligne (et éventuellement valide par appuie sur un bouton d'une fenetre (fenetre non modale à priori) 4-l'application reprend (on sait alors récupérer le
  9. Peux tu expliquer plus présisément pourquoi ce n'est pas bon quand tu remplaces les points d'insertions des attributs du nouveau bloc par celui des anciens ?
  10. la ligne a copiée est sélectionnée par l'utilisateur ? le dessin2 est un nouveau dessin ou un dessin existant déjà ouvert sous autocad ? Je te donne une réponse dès que je peux, je connais plus le code de tête, mais j'ai déjà fait ce genre de manip, c'est pas très compliqué
  11. Je dirais que tu ne peux pas. Une solution pourrait consister à faire lors du lancement de des macros via tes boutons, une copie des programmes en question soit faite en local et que lorsque la personne le modifie, tu aies ensuite un bouton de mise à jour qui écrase la version commune (qui ne sera donc plus en lecture seule puisque copiée et executée en local). Si quelqu'un a une meilleure idée....
  12. je comprends pas trop pourquoi ca ne marche pas chez toi, moi pour le peux que j'ai testé (4 cas possibles), j'ai pas une erreur, et les lignes sont tracées quand il le faut, ajustées quand il le faut. Je commente un peu le code alors : Sub ligne(x1, y1, X2, y2) Dim sel As AcadSelectionSet Dim P1(0 To 2) As Double Dim P2(0 To 2) As Double Dim listpoint(0 To 9) As Double Dim interpoints As Variant Dim intcodes(0) As Integer Dim varvaleurs(0) As Variant Dim ob As Object Correction_axe_x = 1 'la je met juste la valeur à un, c'était pour moi, pour le tester P1(0) = Log(x1) * Correction_axe_x
  13. chez moi pas de plantage. tu aurais pas une variable globale de déclarée qui s'appellerait point1 ? (un tableau...) je dis peut-être une bétise, mais je vois pas d'ou ca peut venir ce message d'erreur sinon.... j'sais pas trop, essaye de voir de ton coté, au pire, essaye en rennomant ma variable point1 par un autre nom... tiens moi au courant
  14. je pense répondre à tes attentes avec le code suivant, certains trouveront peut-être ca un peu bourrin, c'est certainement optimisable, je l'ai fait vite fait : Sub ligne(x1, y1, X2, y2) Dim sel As AcadSelectionSet Dim P1(0 To 2) As Double Dim P2(0 To 2) As Double Dim listpoint(0 To 9) As Double Dim interpoints As Variant Dim intcodes(0) As Integer Dim varvaleurs(0) As Variant Dim ob As Object Correction_axe_x = 1 P1(0) = Log(x1) * Correction_axe_x P1(1) = Log(y1) P1(2) = 0 P2(0) = Log(X2) * Correction_axe_x P2(1) = Log(y2) P2(2) = 0 listpoint(0) = X_min listpoint(1) = Y_min listpoint(2)
  15. voyant que tu n'as pas eu de réponse satisfaisante pour l'instant, je veux bien me pencher sur le problème. Envoie moi un mail avec un fichier contenant ces polylignes. Je verrai si je peux faire qqch pour toi....
×
×
  • Create New...