-
Compteur de contenus
2 764 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Bred
-
Tiens... on est daccord là.... :exclam: un petit coup de wikipedia ??? http://fr.wikipedia.org/wiki/Espace-temps (mais j'avoue que pour moi ce n'est pas plus clair...)
-
(Salut)... ma réponse est - Tu peux changer les propriétés du point en y entrant les coordonnées correspondant dans la ligne Z. ou - Tu peux faire un déplacer en donnant despoints de coordonnées correspondant sur les Z oi - en cas de gros volume, tu as la prog.... mais affine un peu ta question (pour moi).... ce que tu appel "des cotes Z" sont des cotes de niveaux ? (un point avec un texte (Bloc topo), un texte entouré (archi)...) [Edité le 29/3/2007 par Bred]
-
Salut, dans l'aide j'ai trouvé ça : Coordinates Example Sub Example_Coordinates() ' This example creates a polyline. [b]It then uses the Coordinates ' property to return all the coordinates in the polyline[/b]. It then ' resets one of the vertices using the Coordinates property. Dim plineObj As AcadPolyline ' Create Polyline Dim points(5) As Double points(0) = 3: points(1) = 7: points(2) = 0 points(3) = 9: points(4) = 2: points(5) = 0 Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points) ThisDrawing.Regen True ' Return all the coordinates of the polyline [b]Dim retCoord As Variant retCoord = plineObj.Coordinates[/b] ' Display current coordinates for the second vertex MsgBox "The current coordinates of the second vertex are: " & points(3) & ", " & points(4) & ", " & points(5), vbInformation, "Coordinates Example" ' Modify the coordinate of the second vertex to (5,5,0). Note that in ' case of a lightweight Polyline, indices will be different because the points are 2D only. points(3) = 5 points(4) = 5 points(5) = 0 plineObj.Coordinates = points ' Update display ThisDrawing.Regen True MsgBox "The new coordinates have been set to " & points(3) & ", " & points(4) & ", " & points(5), vbInformation, "Coordinates Example" End Sub Donc va voir (dans l'aide) Coordinates property [Edité le 29/3/2007 par Bred]
-
Moi je vends certians lisp des express-tools (ceux qui sont dans le répertoire express) .... Pour ceux qui sont intéréssé, je peux même leur fournir avec des lignes rouges (les bleus, je suis en train de les créér)... :P .... Sérieusement, Krunch, même si je comprends tout à fait ta démarche en imaginant que le fait que tu ai créer un lisp mérite que tu sois récompenser, si tu farfouille un peu dans ce forum, tu trouveras des routines et prog "offert" aussi -voir plus- performant et élaboré...
-
Salut, Tu peux aller voir dans l'aide les fonctions vl-registry-read vl-registry-write .... ... Ah... j'suis un echo dirait-on.... [Edité le 28/3/2007 par Bred]
-
Je ne sais pas si ça fonctionneras : (vla-put-Lock (vlax-ename->vla-object (tblobjname "LAYER" "Nom_du_calque)) :vlax-false)
-
Nom de calque dans un attribut
Bred a répondu à un(e) sujet de Squelet dans Pour aller plus loin en LISP
Ouh là ! ... c'est gentil mais je commence juste à me sentir un peu à l'aise.... et grâce entre autre à la personne que tu sites précedement... Donc c'est une double congratulation pour (gile) ! merci. -
Nom de calque dans un attribut
Bred a répondu à un(e) sujet de Squelet dans Pour aller plus loin en LISP
Salut essaye ça (pas sur de moi...) (defun c:pml3d (/ AcDoc Space bloc nom ent aire long ins) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (cond ((tblsearch "BLOCK" (setq bloc "aha_bloc_metre_long"))) ((findfile (setq bloc "aha_bloc_metre_long.dwg"))) (T (setq bloc nil)) ) (if bloc (progn (while (not (setq ent (car (entsel))))) (if (and (= (cdr (assoc 0 (entget ent))) "POLYLINE") (= (logand (cdr (assoc 70 (entget ent)))8)8) ) (progn (setq obj (vlax-ename->vla-object ent) id (vla-get-ObjectID obj) long (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa id) ">%).Length \\f \"%lu2%pr2%ct8\">%" ) [b]lay (vla-get-layer obj)[/b] ) (initget 1) (setq nom (getstring T "\nNom de la pièce: ")) (initget 1) (setq ins (trans (getpoint "\nPoint d'insertion: ") 1 0)) (setq ref (vla-InsertBlock Space (vlax-3d-point ins) bloc 1.0 1.0 1.0 0.0 ) ) (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom long[b] lay[/b]) ) (vla-regen AcDoc acActiveViewport) ) (alert "L'objet sélectionné n'est pas une polyligne.") ) ) (alert "Le bloc \"aha_bloc_metre_long\" est introuvable.") ) (princ) ) -
D'où ma remarque précédente Mais je sais que ce phénomène de courbure dans l'espace fait par une masse est prouvé (en parti) par la possibilité d'observer une étoile qui se touve à un moment donné DERRIERE le soleil (déviation de sa lumière): http://www.futura-sciences.com/comprendre/g/definition-lentille-gravitationnelle_3999.php
-
Oui, mais dans quel sens ? A trop tourner, on en perd les sens. Surtout avec un voiture mal réglé.... On tourne, on tourne, Jusqu'à ce que le bon sens, soit le sens où l'on se sent bien. Mais trop tourner peut faire tourner la tête Et l'on en perd le sens de l'équilibre voir le sens des réalités.... Tiens.... Tourner ferait croire en des choses inéxistante alors .... ? :casstet: [Edité le 27/3/2007 par Bred]
-
Salut, personnellement, je créés dorénavent mes Boites de dialogues et palettes (ou exé) en VB-net (avec Microsoft Visual Basic 2005 Express Edition gratuit - Avec un débugueur Génial!) qui me géneres un .dll que je charge par un "netload" dans AutoCAD... Je pilote ainsi mes lisp... et c'est vraiment super facile à mettre en oeuvre ! La seul chose qu'il faut connaitre, c'est comment en envoyer la commande sur la ligne de commande, mais quand c'est fait, on répetes à l'infini... exemple : Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.Windows Imports Autodesk.AutoCAD.Runtime Imports System.Drawing Public Class BD_Liens [b] Private Sub Lancer_Ma_commande_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lancer_Ma_commande.Click Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor Dim ligne_command As String Dim op As String argument = "arg" Me.Hide() ligne_command = "(Ma_commande " & Chr(34) & argument & Chr(34) & ")" 'ed.WriteMessage(ligne_command) Application.DocumentManager.MdiActiveDocument.SendStringToExecute(ligne_command & vbCr, False, False, False) End Sub[/b] End Class
-
(une petite erreur de copier/coller - j'ai édité le code ci-dessus)
-
Salut, un petit lisp... (j'ai mis en gras ce que tu dois compléter par la partie du nom du calque, à toi de la compléter... ex : tu rajoutes "menuiseries" après "Poteaux", etc ...) (defun c:niv-calq+ (/ DEB LST-CLQ X I) (setq lst-clq (list [b]"Dalle" "Maçonnerie" "Murs" "Poteaux"[/b])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq deb "- Niveau " x 0 i 0) (While (tblobjname "LAYER" (strcat (rtos (+ 1 x)) deb (rtos (+ 1 x)) " -" (nth i lst-clq))) (setq x (+ 1 x)) ) (repeat (length lst-clq) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) (strcat (rtos (+ 1 x)) deb (rtos (+ 1 x)) " -" (nth i lst-clq))) (setq i (+ 1 i)) ) (princ (strcat "\nCalques Niveau "(rtos (+ 1 x)) " ajoutés!")) (princ) ) [Edité le 27/3/2007 par Bred]
-
Salut Je tente mon coup : textObj.Visible = True
-
Merci Bonuscad, mais déduire la position des plans de délimitation n'est pas ce qui m'interresse (d'ailleurs, pour info, c'est en fait la variable BACKZ et FRONTZ ...Ce que je cherche à faire, c'est soit atteindre ces plans de délimitations en lisp afin de pouvoir les bouger en évitant de passer par la fenêtre de visualisation (lenteur quand plan lourd), soit de passer par une autre commande que je ne connaitrait pas, et qui permettrait de faire la même chose (et au cas où pilotable en lisp...)
-
Salut, je relance ce sujet afin que vous puissiez me conseiller... Au sujet de _3dclip : etc .... OK, mais comment faites vous alors, maintenant ? Personnellement, je n'ai encore rien trouvé de plus performant pour faire des sections de plans complet contenant touts sorte d'objet.... Et comme j'ai l'impression que les plans de délim sont intouchable en lisp, ça m'exaspère encore plus !!!... Mais vu que vous n'aimez vraiment pas cette fonction, quel parade avez-vous trouvé ??? (j'avais déjà envoyé un SOS ici, mais pas de réponse... meri de vos conseils !.
-
Ouh là !... nous avons là des scientiqiques dépassant mes maigre (voir inexistante) connaissance en physique, quel soit relativement relative, quantitivement quantique ou solidement attaché par des cordes.... Juste quelques remarques : usegomme : Dan Brown n'a qu'à bien se tenir !... son Da-Vinci Code risque d'être évincer par tes théorie alpha-coda-numérique !!!... C'est marrant ce que l'on peut faire dire à tout signe et code existant.... ça me rappel que quand j'étais petit et que j'écrivais "3838" sur ma calculatrice, et qu'en la retournant je pouvais lire "BEBE"... ça me m'étais dans un état de béhatitude qui m'aurait (presque) fait croire en dieux !!! thierryd : - Concernant la théorie di Big-bang : rien ne dit qu'il n'y avait rien avant le big bang.... seulement, il s'avert que le résultat de calcul démontre que dans l'existance de l'univers VISIBLE que nous connaissons aujourd'hui, un phénomène de départ aurait eu lieu, et qui s'étends... Ce qui donc ne veut pas dire qu'il n'y avait rien avant : seulement nous ne pouvons déjà pas imaginé "l'infini" dans notre petit cerveau défectueux, alors quelque chose qui ne serait pas palpable !.... Pas vraiment.... je crois qu'il faut la dépasser : mais quoi qu'il en soit, dès que l'on prends de la vitesse il à été prouvé que le temps ralentis (pas besoin d'atteindre la vitesse de la lumière pour ça). Tu fais une théorie sur l'espace temps que je serais bien en mal de comprendre (pas assez intelligent je pense), d'ailleur je ne fais pas partie de la douzaine de personne qui comprenne REELLEMENT la théorie de la relativité d'Einstein... J'avoue que sa démonstration d'une personne immobile par rapport à un objet en mouvement me laisse pentois.... Mais tu as l'ai d'être un connaisseur dans tous ces thèmes, surtout au niveau des "thèses que nos scientifique" émettent.... je te laisse donc écrire les tiennes.... mais continus à nous les faire partager !.... Jean Claude VAN-D'HAMME n'a qu'à bien se tenir avec vous deux !!!... ;)
-
Ah.. sur 2005 les fonctions vl ne sont pas chargé automatiquement peut-être.... que cela ne tienne : rajoute un (vl-load-com) en début de code (routine ci-dessus modifié) [Edité le 26/3/2007 par Bred]
-
Merci (gile)! Squelet : J'ai modifié et corrigé la routine précédente : elle te donneras ce que tu demandes maitenant. Dis moi si ça te convient !....
-
Salut... Bonne neige ??? Le lisp ci dessous te fairas ce que tu demande.... (pour la "la ribambelle de 000", c'est bizarre, je n'ai pas ça....) (defun c:selpoly (/ LST LST-LW LST-P SEL TXT2D TXT3D X) (vl-load-com) (setq sel nil lst nil lst-P nil lst-LW nil txt2D "\n Polylignes 2D sélectionnés :\n" txt3D "\n Polylignes 3D sélectionnés :\n" x 0) (while (not sel) (setq sel (ssget '((0 . "*POLYLINE"))))) (repeat (sslength sel) (setq lst (append (list (cdr (assoc -1 (entget (ssname sel x))))) lst) x (+ x 1)) ) (foreach n lst (if (equal (cdr (assoc 0 (entget n))) "POLYLINE") (setq lst-P (append (list n) lst-P)) (setq lst-LW (append (list n) lst-LW))) ) (setq x 0) (repeat (length lst-LW) (setq txt2D (strcat txt2D "\nPolyligne-2D "(rtos (+ x 1)) " dans Calque " (cdr (assoc 8 (entget (nth x lst-LW)))) " - Longueur : " (rtos (vlax-curve-getDistAtParam (nth x lst-LW) (vlax-curve-getEndParam (nth x lst-LW))))) x (+ x 1)) ) (setq x 0) (repeat (length lst-P) (setq txt3D (strcat txt3D "\nPolyligne-3D "(rtos (+ x 1)) " dans Calque " (cdr (assoc 8 (entget (nth x lst-P)))) " - Longueur : " (rtos (vlax-curve-getDistAtParam (nth x lst-P) (vlax-curve-getEndParam (nth x lst-P))))) x (+ x 1)) ) (if lst-LW (alert txt2D)) (if lst-P (alert txt3D)) (princ) ) [Edité le 26/3/2007 par Bred] [Edité le 26/3/2007 par Bred]
-
Re, Je n'ai pas fait de différence entre polylgne 2D ou 3D (c'est possible...) (defun c:selpoly (/ SEL TXT X) (setq sel nil txt "\n Polylignes2D/3D sélectionnés :\n" x 0) (while (not sel) (setq sel (ssget '((0 . "*POLYLINE"))))) (repeat (sslength sel) (setq txt (strcat txt "\nPolyligne "(rtos (+ x 1)) " dans Calque " (cdr (assoc 8 (entget (ssname sel x))))) x (+ x 1)) ) (alert txt) (princ) )
-
l'une de manière : (la + "simple" pour débuter) Tu copies le code dans un bloc note que tu nommes et enregistre comme tu veux en mettant comme extension .lsp Puis tu vas dans Autocad, tu va dans Outils / Charger une Application Dans la boite de dialogue tu as une valise : tu delectionne "contenu" ... et là tu vas chercher le fichier .lsp que tu as enregistrer precedement. Tu auras dorénavant une nouvelle commande dans autocad nommé "selB" (tape là au clavier) Le lisp sera alors charger à chaque démarage. Il y a d'autre manières.... Pour info, si tu veux raccourcir le nom de la commande au clavier tu met ce que tu veux comme commande à la place de "selB" dans (defun c: sb (................ (laisse le c: ) [Edité le 23/3/2007 par Bred]
-
Salut, un petit lisp... ? (defun c:selB (/ SEL TXT X) (setq sel nil txt "\n Blocs sélectionnés :\n" x 0) (while (not sel) (setq sel (ssget '((0 . "INSERT" ))))) (repeat (sslength sel) (setq txt (strcat txt "\n"(cdr (assoc 2 (entget (ssname sel x)))) " dans Calque " (cdr (assoc 8 (entget (ssname sel x))))) x (+ x 1)) ) (alert txt) (princ) )
-
La routine de fermeture ne fonctionnait (pas bien) : il faut rajouter un test pour garder la visibilité d'Excel si il y avait déjà un document d'ouvert : ; Fermer la liaison avec Excel (defun XL-Close (/ ok sel) (if (not (member (strcase (vlax-get xl-fichier 'fullname)) liste_fichiers_ouvert)) (vlax-invoke-method xl-fichier 'close :vlax-false) ) (if liste_fichiers_ouvert (vla-put-visible xl :vlax-True) ) (foreach sel (list xl wks xl-fichier xl-classeur xl-feuille) (vlax-release-object sel) ) (setq xl nil wks nil xl-fichier nil xl-classeur nil xl-feuille nil) (gc)(gc) ) ) -Routine précédente edité - [Edité le 26/6/2007 par Bred]
