-
Compteur de contenus
2 764 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Bred
-
Salut, je jette un coup d'oeuil sur ta demande. juste pour info : j'ai légerement modifié le lisp "coef-txt" ci-dessus pour la forme : lors de la demande du calque, il met entre crochet le calque courant (qui sera donc pris en compte avec une simple validation).
-
Re, lecrabe ! je vais ici révéler quelque chose : quand on arrive à un certain niveau, il faut comme en karaté revenir à une ceinture blanche, comme un départ à 0.... Pourquoi ? la ligne de création de calque (vla-add ... est totalement inutile ! en effet : j'avais omis que la chose magique de l'utilsation de entmake, c'est la création automatique du calque !!!! donc, ceci suffit ! : ; met un coef sur une valeur numérique de texte. (defun c:coef-txt (/ COEF L LST-ENT N-VAL SEL X) (setq sel nil) (while (not sel) (setq sel (ssget '((0 . "*TEXT"))))) (initget 1) (setq coef (getreal "\n Coefficient à appliquer :")) (setq L (getstring T (strcat ":\n Nom du Calque sur Lequel créer les textes : <" (getvar "Clayer")">"))) (if (equal L "") (setq L (getvar "Clayer"))) (repeat (setq x (sslength sel)) (setq N-val (* coef (atof (cdr (assoc 1 (entget (ssname sel (setq x (1- x)))))))) lst-ent (cdr (subst (cons 1 (rtos N-val)) (assoc 1 (entget (ssname sel x))) (entget (ssname sel x)))) lst-ent (subst (cons 8 L) (assoc 8 (entget (ssname sel x))) lst-ent)) (entmake lst-ent) ) (princ) ) Désolé de t'avoir fait perdre du temps, mais je suis, je pense, un eternel débutant en lisp... mais je persite ! :P [Edité le 19/7/2007 par Bred]
-
Super ! merci (gile) et Patrick_35 ! Alors, pour info, nouveau en 2008 par rapport à la liste précédente de (gile) : Nouvelles Méthodes : ("AddMLeader" "CreateCellStyle" "CreateCellStyleFromStyle" "CreateContent" "DeleteCellStyle" "DeleteContent" "EnableMergeAll" "FormatValue" "GetAlignment2" "GetAutoScale2" "GetBlockAttributeValue2" "GetBlockAttributeValue32" "GetBlockTableRecordId2" "GetBlockTableRecordId32" "GetBreakHeight" "GetCellClass" "GetCellContentColor2" "GetCellDataType" "GetCellFormat" "GetCellState" "GetCellStyle" "GetCellValue" "GetColumnName" "GetContentLayout" "GetContentType" "GetCustomData" "GetDataFormat" "GetDataLink" "GetDataLink32" "GetDataType2" "GetFieldId2" "GetFieldId232" "GetFieldId32" "GetFormat2" "GetFormula" "GetGridColor2" "GetGridDoubleLineSpacing" "GetGridLineStyle" "GetGridLinetype" "GetGridLinetype32" "GetGridLineWeight2" "GetGridVisibility2" "GetHasDataLink" "GetHasFormula" "GetIsCellStyleInUse" "GetIsMergeAllEnabled" "GetMargin" "GetOverride" "GetRotation" "GetScale" "GetTextHeight2" "GetTextString" "GetTextStyle2" "GetUniqueCellStyleName" "GetValue" "InsertColumnsAndInherit" "InsertRowsAndInherit" "IsContentEditable" "IsEmpty" "IsFormatEditable" "IsMergeAllEnabled" "LayerPropertyOverrides" "MoveContent" "ObjectIDToObject32" "OverwritePropChanged" "RemoveAllOverrides" "RemoveDataLink" "RenameCellStyle" "ResetCellValue" "SetAlignment2" "SetAutoScale2" "SetBlockAttributeValue2" "SetBlockAttributeValue32" "SetBlockTableRecordId2" "SetBlockTableRecordId32" "SetBreakHeight" "SetCellClass" "SetCellContentColor2" "SetCellDataType" "SetCellFormat" "SetCellState" "SetCellStyle" "SetCellValue" "SetColumnName" "SetContentLayout" "SetCustomData" "SetDataFormat" "SetDataLink" "SetDataLink32" "SetDataType2" "SetFieldId2" "SetFieldId232" "SetFieldId32" "SetFormat2" "SetFormula" "SetGridColor2" "SetGridDoubleLineSpacing" "SetGridLineStyle" "SetGridLinetype" "SetGridLinetype32" "SetGridLineWeight2" "SetGridVisibility2" "SetMargin" "SetOverride" "SetRotation" "SetScale" "SetTextHeight2" "SetTextString" "SetTextStyle2" "SetToolTip" "SetValue" "SetValueFromText" "UpdateAllDataLinks" "UpdateDataLink" "UpdateMTextAttribute") Nouvelles Propriétés : ("AlignSpace" "AllowManualHeights" "AllowManualPositions" "Annotative" "ArrowSize" "ArrowSymbol" "BlockColor" "BlockConnectionType" "BlockScale" "BreaksEnabled" "BreakSize" "BreakSpacing" "ContentBlockName" "ContentBlockType" "ContentType" "DogLegged" "DoglegLength" "DrawLeaderOrderType" "DrawMLeaderOrderType" "EnableBlockRotation" "EnableBlockScale" "EnableDogleg" "EnableFrameText" "EnableLanding" "FirstSegmentAngleConstraint" "HWND32" "Key32" "LabelBlockId32" "LandingGap" "LayoutID32" "LeaderLineColor" "LeaderLinetype" "LeaderLineTypeId" "LeaderLineWeight" "LeaderType" "MaxLeaderSegmentsPoints" "MTextAttribute" "MTextAttributeContent" "MTextBoundaryWidth" "MTextDrawingDirection" "NumCellStyles" "ObjectID32" "OwnerID32" "RepeatBottomLabels" "RepeatTopLabels" "SecondSegmentAngleConstraint" "TableBreakFlowDirection" "TableBreakHeight" "TextAlignmentType" "TextAngleType" "TextAttachmentType" "TextBackgroundFill" "TextDirection" "TextJustify" "TextLeftAttachmentType" "TextLineSpacingDistance" "TextLineSpacingFactor" "TextLineSpacingStyle" "TextRightAttachmentType" "TextStyleName" "TextWidth" "UnderlayLayerOverrideApplied" "Value32" "ZScaleFactor") Ce qu'il n'y a plus : méthodes : nil propriétés : nil ... tant mieux ! ;)
-
Alors là.... comprends pas.... Quand je fais fonctionner le lisp "petit à petit" en passant par le visual, pas de souci.... par contre, si je le fais en lançant la commande : http://xs117.xs.to/xs117/07293/tetete.JPG ... et je ne trouve rien sur internet.... :casstet: c'est pas ce qu'il fait ?
-
HUUU ! Je le faisait sur 2008... je viens de le tester sur 2006 : ça m'a fait carrément planter autocad (fermeture....) je te tiens au courant.... :exclam:
-
Re, heu... c'est bizarre mais mon lisp créait déjà le calque si il n'existait pas .... :casstet: ; met un coef sur une valeur numérique de texte. (defun c:coef-txt (/ COEF N-VAL SEL X L LST-ENT) (vl-load-com) (setq sel nil) (while (not sel) (setq sel (ssget '((0 . "*TEXT"))))) (initget 1) (setq coef (getreal "\n Coefficient à appliquer :")) (setq L (getstring T ":\n Nom du Calque sur Lequel créer les textes :")) (if (equal L "") (setq L (getvar "Clayer"))) [b](if (not (tblobjname "LAYER" L)) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) L) )[/b] (repeat (setq x (sslength sel)) (setq N-val (* coef (atof (cdr (assoc 1 (entget (ssname sel (setq x (1- x)))))))) lst-ent (cdr (subst (cons 1 (rtos N-val)) (assoc 1 (entget (ssname sel x))) (entget (ssname sel x)))) lst-ent (subst (cons 8 L) (assoc 8 (entget (ssname sel x))) lst-ent)) (entmake lst-ent) ) (princ) ) [Edité le 18/7/2007 par Bred]
-
modifié une série de cles dans un objet
Bred a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
Tu as raison.... et tords.... en effet PHILPHIL parle de clé alors que cela devrait un "code de groupe". Mais dans une liste, la clé est bien l'élément permettant de retrouver la liste. (setq lst (list (list "vis22" '("50" "22" "cru")) (list "vis33" '("50" "33" "tol")) (list "vis11" '("38" "22" "ap")) )) (assoc "vis22" lst) et va voir dans l'aide l'explication de assoc : -
Salut, voilà : (attention : met sur calque courant, pas sur calque du texte !) ; met un coef sur une valeur numérique de texte. (defun c:coef-txt (/ COEF N-VAL SEL X L LST-ENT) (vl-load-com) (setq sel nil) (while (not sel) (setq sel (ssget '((0 . "*TEXT"))))) (initget 1) (setq coef (getreal "\n Coefficient à appliquer :")) (setq L (getstring T ":\n Nom du Calque sur Lequel créer les textes :")) (if (equal L "") (setq L (getvar "Clayer"))) (if (not (tblobjname "LAYER" L)) (vla-add (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) L) ) (repeat (setq x (sslength sel)) (setq N-val (* coef (atof (cdr (assoc 1 (entget (ssname sel (setq x (1- x)))))))) lst-ent (cdr (subst (cons 1 (rtos N-val)) (assoc 1 (entget (ssname sel x))) (entget (ssname sel x)))) lst-ent (subst (cons 8 L) (assoc 8 (entget (ssname sel x))) lst-ent)) (entmake lst-ent) ) (princ) ) [Edité le 18/7/2007 par Bred]
-
Salut, j'essaye desespérement de créer un style visuel (pour l'impression) ayant : - faces cachées. - Accepte N&B, même pour une vue iso perspective ! - Ombres. Si vous avez une solution, merci !.....
-
modifié une série de cles dans un objet
Bred a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
Salut didier, ce que l'on appelle "une clé" c'est le premier élément d'un liste (ex : (8 . "mon-calque")) Et donc, en cherchant cette valeur (clé), on récupère la valeur associée ("Mon-calque") -
Wow ! merci ! j'espère que tu as récupéré la liste des propriétés et méthodes quelque-part !.... je pensais à un truc dans le genre, mais je ne me voyais pas saisir toutes les propriétés et méthodes !... c'est une routine à bien garder ! merci encore une fois (gile) !!!! :D :D [Edité le 18/7/2007 par Bred]
-
Désolé, je n'avais pas compris... mais c'est une méthode de travail bizarre : ... déplace les autre qui te gène alors.... ....ou crées une fenêtre polygonale qui "éviteras" les choses que tu ne veux pas imprimer....
-
Je dois mal m'expliquer : je voudrais créér une routine qui compare les propriétés de deux vla-objects. Donc, je voudrais comparer deux listes obtenus sur la console par (vlax-dump-object .... mais ce n'est pas les propriétés que nous retourne au final cette fonction, mais t ou nil. Ex : je voudrais récupérer ceci dans une variable :
-
Salut, je m'étais mis en tête d'écrire un routine pour comparer les propriétés de 2 "vla-objets"... mais je suis assez contrarié : vlax-dump-object ne retourne que T ou nil, la liste des propriétés (;...) n'est pas accessible... Auriez-vous une idée comment les récupérer ? merci.
-
Salut, tu peux désactiver les fenêtres par exemple. (propriété - Divers - Actif : non)
-
pb avec ALIAS EDITOR des express tools avé la 2008 ?
Bred a répondu à un(e) sujet de Pieroka dans AutoCAD 2008
Ah, désolé, je n'ai en fait jamais utilisé aliasedit. :P ... :calim: -
Ce ne serait pas la variable HPASSOC que tu cherches ?
-
pb avec ALIAS EDITOR des express tools avé la 2008 ?
Bred a répondu à un(e) sujet de Pieroka dans AutoCAD 2008
Salut que ce soit avec aliasEdit, ou directement en modifiant le AutoCAD.pgp, il faut relancer Autocad. -
Salut, echo ? il y a deux jours ...
-
exercices sympas pour que je puisse pratiquer
Bred a répondu à un(e) sujet de sonia dans AutoCAD 2006
Bonjour et bienvenue ! Ton souhait est assez difficile : une formation en ligne n'est pas simple.... Déjà, dis nous dans quel branche tu dois dessiner, afin que ta demande soit mieux ciblé. -
Calque verrouiller 2008 : atténuation des objets
Bred a répondu à un(e) sujet de Bred dans Débuter en LISP
Salut (gile), et merci. mais j'avais déjà testé ces pistes. En fait, l'atténuation est fait à partir d'un valeur dans la base de registre enregistré dans la variable LAYLOCKFADECTL. J'ai posé cette même question dans "Teh Swawp" ici.. J'ai eu un début deréponse, mais qui ne fonctionne pas complètement.... -
Personnelement j'utilise paint : je récupère l'image d'un bouton existant que je modifie.
-
Salut, Toutes commandes créée en lisp peuvent s'utiliser comme des commandes "standard" d'Autocad. Il faut bien sûr que le lisp soit chargé au démarrage. ex : dans un bouton : ^C^CcalqG
-
Juste pour info : ceci correspond à la variable PICKADD.
-
Re, dans l'aide du developpeur (dans l'éditeur visual lisp d'autocad par exemple). ... et sur CADxp bien sûr ! ;)
