Menu

Toon bijdragen

Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.

Toon bijdragen Menu

Berichten - Vanilla Queen

#1
Het is de bedoeling om in lisp een programma te maken dat de gegevens mooi in een tabelvorm geeft.
Dat heb ik. Het enige probleem is, als de waarden worden verandert, dat ik het opnieuw moet wegschrijven naar de tabel. Dus dacht ik, als ik het in een field zet, worden de wijzigingen automatisch in de tabel ook aangepast.
#2
Autolisp / Re: maatlijn met fields
za 24 11 2018, 12:42:55
De beperking is zoals Eddybeerke aangeeft bij het programmeren in lisp.
Ik heb het omzeild door eerst de maatlijn te plaatsen en hierna deze te wijzigen door "tekst" .
Mijn probleem was dat ik natuurlijk niet wist hoe ik in lisp een maatlijn moet wijzigen.
Met onderstaande blijkt het goed te lukken.

(setq wijzigmaatlijn (ssname (ssget pt3) 0))
(setq vla-wijzigmaatlijn (vlax-ename->vla-object wijzigmaatlijn))
(vla-put-Textoverride vla-wijzigmaatlijn tekst)

Probleem dus opgelost.
#3
Sorry voor de onduidelijkheid.
Ik probeer opnieuw:

ik heb: <\\AcObjProp Object(%<\\_ObjId 1570521637280>%).TextString>%

als ik dit in een field zet krijg ik: (1) 2 %%c10

ik zou uit <\\AcObjProp Object(%<\\_ObjId 1570521637280>%).TextString>% nu graag de waarde 10 uithalen om er verder dingen mee te doen.
zonder dat de link met het oorspronkelijke verdwijnt.


kan dat?



#4
Autolisp / handelingen op objID van een mtext
ma 19 11 2018, 23:18:45
waar kan ik vinden welke handelingen mogelijk zijn op een field van een Mtext?

Bv: onderstaande is: (1) 2 dia 10
<\\AcObjProp Object(%<\\_ObjId 1570521637280>%).TextString>%

kan ik bijvoorbeeld "10" er uithalen?
iets in de zin als "substr" op een string



#5
Autolisp / Re: maatlijn met fields
di 13 11 2018, 19:30:29
Ja, ik vermoed dat lisp de beperking is. Als ik het rechtstreeks ingeef is er geen probleem, maar als ik onderstaande doe dan loopt het fout.

(setq naamliggerID (strcat "%<\\AcObjProp Object(%<\\_ObjId " liggerID ">%).TextString>%"))

(setq typeliggerID (strcat "%<\\AcObjProp Object(%<\\_ObjId " liggerID ">%).Parameter(120).UserVariable\>%"))


(setq tekst (strcat typeliggerID  " " naamliggerID " L=<>" ))

(command "dimlinear" pt1 pt2 "m" tekst pt3)

#6
Autolisp / maatlijn met fields (opgelost)
ma 12 11 2018, 22:13:47
Ik zou graag een lsp maken die meerdere fields in een maatlijn plaatst.
Maar er is blijkbaar een beperking in het aantal tekens dat men in zo een mtext van een maatlijn kan plaatsen.

Ik heb:
(setq naamliggerID (strcat "%<\\AcObjProp Object(%<\\_ObjId " liggerID ">%).TextString>%"))

(setq typeliggerID (strcat "%<\\AcObjProp Object(%<\\_ObjId " liggerID ">%).Parameter(120).UserVariable\>%"))


(setq tekst (strcat typeliggerID  " " naamliggerID " L=<>" ))

(command "dimlinear" pt1 pt2 "m" tekst pt3)

maar bij de uitvoering krijg ik een foutmelding bij "m"
zijnde: "dimension text too long"

Ik zou dit willen omzeilen door eerste de eerste field toe te voegen en hierna de tweede field.

Maar dan moet ik bij gegevens van een maatlijn andere gegevens kunnen toevoegen.
En dat kan ik helaas ook niet.
#7
Je hebt gelijk!
Het werkt inderdaad.

Let wel: voor AcExpr moet  \\ staan en niet \

Bedankt om het opnieuw door te geven en vooral bedankt voor deze oplossing.
#8
Nee, dit blijkt niet te werken. Ik krijg als resultaat: AcExpr ( + )

Blijkbaar mis ik de stap van:
%<\AcObjProp Object(%<\_ObjId 2338838875936>%).TextString>%

naar de field expression:

%<\AcExpr (%<\_FldPtr 2338641346064>%

De omzetting zoals deze gebeurd door "formula" in de field dialoog.
#9
Ter info:

ik heb;

(setq schrijfgetalID (strcat "%<\\AcObjProp Object(%<\\_ObjId " getalID ">%).TextString>%"))
"%<\\AcObjProp Object(%<\\_ObjId 2497851039040>%).TextString>%"

en:

  (setq schrijfgetalID2 (strcat "%<\\AcObjProp Object(%<\\_ObjId " getalID2 ">%).TextString>%"))
"%<\\AcObjProp Object(%<\\_ObjId 2497851039840>%).TextString>%"

en zou nu graag beide optellen .


#10
Ik zou graag een lisp maken dat twee text-bestanden leest. Deze tekstbestanden zijn integers. Het programma moet vervolgens deze waarden optellen en de som in een field teruggeven.
Ik kan wel 1 text-bestand lezen en in een field teruggeven maar ik slaag er niet in om de twee bestanden op te tellen. Kan iemand mij op weg helpen?
#11
hoera gevonden, t was pickfirst  die op 0 stond, dit dient op 1 te staan
ik heb het antwoord hier ergens anders op de site gevonden
#12
bedankt om mee gezocht te hebben
#13
de sysvar SHORTCUTMENU blijkt het ook niet te zijn

ik werk met een 2018 versie.
als ik de 2017 versie open is alles ok.
#14
deze staat nog op "on"
helaas

als ik een tekst aanklik en ik druk dan op de rechter muisknop krijg ik zelfs geen "mtext edit" te zien

heel vervelend
#15
mijn dubbel klik werkt niet meer
als ik op een tekst sta en ik druk "dubbel klik links" op de muis dan kom ik niet meer in de teksteditor
idem voor een blok, ik kan niet meer in de blokeditor met dubbel klik

Weet iemand welke variable in per ongeluk heb gewijzigd?

Het probleem ligt niet bij de muis, als ik een andere autocad versie open dan werkt alles normaal.