perlon Posted February 19, 2019 Report Share Posted February 19, 2019 (edited) Witam. Po lekturze ostatniego wpisu Kojacka na jego blogu chciałem sprawdzić działanie c:dim-sf na ZwCAD, który krzyknął że nie zna takiej funkcji jak w temacie. Czy jest w ZwCAD jakiś odpowiednik lispowiej funkcji (getpropertyvalue). To samo dotyczy funkcji setpropertyvalue, dumpallproperties i ispropertyreadonly. Ewentualnie czy są plany ich wprowadzenia? Edited February 19, 2019 by perlon Quote Link to comment Share on other sites More sharing options...
kruszynski Posted February 19, 2019 Report Share Posted February 19, 2019 Nie znam odpowiednika, wspomnianych funkcji, zapytam o szczegóły w ZWSOFT. Quote Link to comment Share on other sites More sharing options...
perlon Posted October 28, 2019 Author Report Share Posted October 28, 2019 Potrzeba tej funkcji znów powróciła. Czy ZwSoft wypowiedział się w tej kwestii? Quote Link to comment Share on other sites More sharing options...
dmatusz3 Posted October 28, 2019 Report Share Posted October 28, 2019 Tak, sprawdziliśmy przed chwilą informacje odnośnie tej funkcji. Niestety w najbliższym czasie nie ma planu ich wprowadzenia. Czy ta funkcja jest potrzeba do "wizualnej kontroli ustawień skali", czy do czegoś innego? Może bylibyśmy w stanie pomóc jakoś inaczej? Quote Link to comment Share on other sites More sharing options...
perlon Posted October 28, 2019 Author Report Share Posted October 28, 2019 (edited) Kol. Kojacek prezentował kilka lispów dot. wymiarów. Między innymi https://kojacek.wordpress.com/2019/02/17/o-dimscale/comment-page-1/?unapproved=652&moderation-hash=f14d723e1826eb2f92424a6b02c589ef#comment-652 gdzie używa funkcji getpropertyvalue. Zresztą do odczytu różnych właściwości. Konkretnie chodziło o właściwość DimScale ze stylu wymiarowania odczytywana w taki sposób : (getpropertyvalue (tblobjname "DIMSTYLE" (cdr (assoc 3 (entget Ent)))) "DimScale" ) Próbowałem do zastosować w ZwCAD'zie. Zamieniłem tą linijkę na odczyt kodu DXF (cdr (assoc 40 (entget (tblobjname "DIMSTYLE" (cdr (assoc 3 (entget Ent))))))) Wydaje się jednak, że getpropertyvalue jest bardziej eleganckie i lepiej się to czyta. Ustawianie właściwości za pomocą setpropertyvalu jest również szybsze niż sklejanie kodów DXF w entmod'zie. Można też stosować (vlax-get-property ...) i (vlax-put-property ...) ale w tym konkretnym przypadku vlax-get-property nie zwracała w ogóle właściwości DimScale stylu wymiarowania. Na marginesie funkcja vlax-dump-object wywołana dla wymiaru zwraca taką listę: ; Property values: ; AltRoundDistance = 0.0 ; AltSuppressLeadingZeros = 0 ; AltSuppressTrailingZeros = 0 [...] ; DimLineInside = 0 ; DimTxtDirection = ; Document (RO) = #<VLA-OBJECT IZcadDocument 1cbd6b48> ; EntityName (RO) = "AcDbRotatedDimension" ; EntityTransparency = [...] ; TrueColor = #<VLA-OBJECT IZcadZcCmColor 1cbc86c0> ; UnitsFormat = 2 ; VerticalTextPosition = 1 ; Visible = -1 W szczególności właściwość DimTxtDirection jest na liście, ale nie da się jej odczytać funkcją vlax-get-property podobnie jak jeszcze kilka innych. Tak jakby była definicja ale nie było gettera i settera dostępowego. Edited October 28, 2019 by perlon Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.