Aller au contenu

Patrick_35

Membres
  • Compteur de contenus

    6 374
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Patrick_35

  1. Patrick_35

    vlr-reaction-set

    Ouin, c'est juste une bouteille jetée à la mer J'ai l'impression de rassembler à un robinson crusoé sur son ile et qui n'a même pas son vendredi @+
  2. Bonjour J'ai vu que j'avais une erreur d'automation dans un réacteur objet car je modifiais l'objet en question dans la routine du réacteur appelé. J'ai trouvé qu'avec la fonction vlr-reaction-set, ça me résolvait le problème mais j'avoue que je ne comprends pas tout. Si quelqu’un pouvait m’expliquer dans le détail… @+
  3. Patrick_35

    Insertion bloc...

    (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) "c:/../../../MonBloc.dwg" 1 1 1 0) Ca fonctionne @+
  4. Tu peux te servir des groupes @+
  5. Patrick_35

    Insertion bloc...

    Salut (if (tblsearch "block" "Monbloc") (vla-....) (vla-insert.... "c:/../../../Monbloc.dwg"); s'il n'est pas dans les chemins de recherche @+
  6. Euh.....oui, avec un entmake :exclam: Je ne comprends pas trop le sens de la question, ni ou tu souhaites en venir exactement @+
  7. Ah oui, exact petit padawan. Je crois qu'il est temps que j'aille me coucher @+
  8. C'est un peu exagéré Tu peux remplacer ce qui te convient, mais il me semble que 100cm=1m et que 10000mm=1m @+
  9. Patrick_35

    Insertion bloc...

    Oupps... Desolé pour les parenthèses en trop. Mais heureusement, (gile) à corrigé ;) @+
  10. Salut Il suffit de remplacer (vla-put-textstring (vlr-data rea) (strcat (rtos (vla-get-area obj) 2 2) "M2")) par (vla-put-textstring (vlr-data rea) (strcat (rtos (/ (vla-get-area obj) 100) 2 2) "M2")) @+
  11. Salut Bonus Je vois avec plaisir que tu commences à toucher au vlisp :cool: @+
  12. Salut C'est les plus bavards, il ne faut pas ;) Sinon voici le lisp (defun c:verr(/ ent lay lays) (if (setq ent (car (entsel "\nSélectionnez votre entité : "))) (progn (setq lays (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) ent (entget ent)) (vlax-for lay lays (if (not (eq (vla-get-name lay) (cdr (assoc 8 ent)))) (vla-put-lock lay :vlax-true) (vla-put-lock lay :vlax-false) ) ) (princ (strcat "\nVerrouillage de " (itoa (1- (vla-get-count lays))) " calque(s)")) (princ) ) ) ) @+
  13. Patrick_35

    Lier 2 attributs

    Comme quoi, il ne faut pas hésiter à des questions. Toutes les idées sont bonnes à prendre @
  14. Salut Tu as aussi une autre possibilité tu lances l'éditeur visual lisp (commande _vlide) Tu ajoutes un espion (icône avec les lunettes) et tu mets la commande (vlax-get-acad-object), et comme ça, tu peux parcourir toute l'arborescence @+
  15. Patrick_35

    Insertion bloc...

    Salut Si, si, ça existe en vl (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) "Mon_Bloc")) 1 1 1 0)) @+
  16. Patrick_35

    Lier 2 attributs

    C'est ce qui est prévu pour la futur version de LATT Peut-être qu'en utilisant les deux en même temps, ça fonctionnerait, c'est à tester @+
  17. Patrick_35

    Modifier des blocs

    Y a pas à dire, c'est un bon et qui fait ses lisps consciencieusement @+
  18. Patrick_35

    Modifier des blocs

    (vla-get-units ...) ne fonctionne pas sur une 2000, il suffit pour que le prog puisse fonctionner sur toutes les versions de "griser" les unités pour les versions < 2004 @+
  19. Patrick_35

    Lier 2 attributs

    Salut Ca dejà été fait ici pour ce qui est de la puissance du vlisp, je dois dire que la seule limite est l'imagination Je pense faire évoluer le produit avec une addition automatique et un incrémentation automatique (selon le choix d'origine), mais pour l'heure, je suis sur autre chose @+
  20. Patrick_35

    Création de groupe d\'objets

    Oui, mais tes objets sont bien intégré dans une collection ? comme dans l'exemple ReDim appendObjs(0 To ThisDrawing.ModelSpace.count - 1) As AcadEntityDim I As Integer For I = 0 To ThisDrawing.ModelSpace.count - 1 Set appendObjs(I) = ThisDrawing.ModelSpace.Item(I) Next @+
  21. Patrick_35

    Modifier des blocs

    et les croissants ???? @+
  22. Patrick_35

    Création de groupe d\'objets

    Salut En vlisp, j'aurai pu t'aider, mais à défaut, voici ce que j'ai trouvé dans l'aide @+ Sub Example_AppendItems() ' This example creates a group and several objects. ' It then appends the objects to the group. ' Create the new group Dim groupObj As AcadGroup Set groupObj = ThisDrawing.Groups.Add("TEST_GROUP") ' Create a Ray object in model space Dim rayObj As AcadRay Dim basePoint(0 To 2) As Double Dim SecondPoint(0 To 2) As Double basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0# SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0# Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint) ' Create a polyline object in model space Dim plineObj As AcadLWPolyline Dim points(0 To 5) As Double points(0) = 3: points(1) = 7 points(2) = 9: points(3) = 2 points(4) = 3: points(5) = 5 Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) plineObj.Closed = True ' Create a line object in model space Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ' Create a circle object in model space Dim circObj As AcadCircle Dim centerPt(0 To 2) As Double Dim radius As Double centerPt(0) = 20: centerPt(1) = 30: centerPt(2) = 0 radius = 3 Set circObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius) ' Create an ellipse object in model space Dim ellObj As AcadEllipse Dim majAxis(0 To 2) As Double Dim center(0 To 2) As Double Dim radRatio As Double center(0) = 5#: center(1) = 5#: center(2) = 0# majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0# radRatio = 0.3 Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio) ZoomAll ' Iterate through the model space collection. ' Collect the objects found into an array of objects ' to be added to the group. ReDim appendObjs(0 To ThisDrawing.ModelSpace.count - 1) As AcadEntity Dim I As Integer For I = 0 To ThisDrawing.ModelSpace.count - 1 Set appendObjs(I) = ThisDrawing.ModelSpace.Item(I) Next ' Add the array of objects to the group groupObj.AppendItems appendObjs ThisDrawing.Regen acActiveViewport End Sub
  23. Patrick_35

    Modifier des blocs

    Et une autre amélioration. Plutôt que cocher Echelle, on peut avoir en clair directement la valeur 1. On la change ou pas. ca évite un clic @+
  24. Patrick_35

    Modifier des blocs

    Salut (gile) Ce que tu viens de faire est très bien et viendrait admirablement compléter le lisp rbloc dans ce sujet ps : un entmod dans les tables des blocs fonctionne ;) @+
  25. Salut Fais deux ou trois échap et refait une sauvegarde Si ça ne fonctionne toujours pas, fais un enregistrer sous, puis avec l'explorateur, tu effaces l'ancien dessin et tu renommes ta sauvegarde @+
×
×
  • 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é