VisualLisp


Rekomendowane odpowiedzi

Witam,

zauważyłem, że nie wszystkie właściwości działają prawidłowo:

Przykład z HELP'a ZwCAD2012:

(setq vlaCircle (vlax-ename->vla-object (car (entsel "\nselect a circle: "))))
(vlax-put-property vlaCircle "Color" 5)
(vlax-invoke-method vlaCircle 'update) 

i to samo dla bloku tyle, że inna właściwość:

(setq Obj (vlax-ename->vla-object (car(entsel))))
(vlax-put-property Obj "XScaleFactor" 5)
(vlax-invoke-method Obj 'update)

Pierwsze działa, drugie już nie...

Proszę o sprawdzenie czy w ZwCAD+ również ten problem występuje.

pozdrawiam,

Assgarth

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie to sprawdziłem i działa w ZWCAD+.

Sprawdziłem to też na ZWCAD 2012 i też działa, oba przypadki. Więc problem się nie powtórzył.

Różnica polega na tym, że w ZWCAD 2012 konieczne było

(vlax-invoke-method Obj 'update), w ZWCAD+ blok zaktualizował się automatycznie.

Sprawdziłem jeszcze raz na dwóch blokach.

Pierwszy zupełnie dowolny, nowo utworzony i faktycznie działa bez problemu.

Drugi, utworzony z poziomu aplikacji i nie działa (nie wiem dlaczego).

Listing:

Polecenie: (entget(car(entsel)))
Wybierz obiekty: ((-1 . ) (0 . "INSERT") (5 . "163") (100 . "AcDbEntity") (102 . "{ACAD_XDICTIONARY") (360 . ) (102 . "}") (67 . 0) (8 . "0") (100 . "AcDbBlockReference") (410 . "Model") (62 . 256) (6 . "ByLayer") (370 . -1) (48 . 1.00000) (60 . 0) (66 . 1) (2 . "bik_BlkOpPret") (210 0.000000 0.000000 1.00000) (10 331.681 571.962 0.000000) (41 . 35.0000) (42 . 10.0000) (43 . 10.0000) (50 . 0.000000) (70 . 1) (71 . 1) (44 . 0.000000) (45 . 0.000000))
Polecenie: (vlax-dump-object Obj)
Property values:
;    Application (RO)
;    Document (RO)
;    Parent (RO)
;    Handle (RO)
;    ObjectID (RO)
;    HasExtensionDictionary (RO)
;    Color
;    EntityName
;    ObjectName (RO)
;    EntityType (RO)
;    Layer
;    Linetype
;    LinetypeScale
;    Visible
;    Hyperlinks (RO)
;    TrueColor
;    LineWeight
;    InsertionPoint
;    Name (RO)
;    Normal
;    HasAttributes (RO)
;    Rotation
;    XScaleFactor
;    YScaleFactor
;    ZScaleFactor
T

W załączniku blok.

Może jakaś sugestia?

Jak ręcznie zmieniam właściwości "(XYZ)ScaleFactor" we właściwościach obiektu, to działa, a z poziomu VLispa nie chce...

pozdrawiam

blok.dwg

Odnośnik do komentarza
Udostępnij na innych stronach

Rzeczywiście na tym bloku w ZWCAD 2012 nie zmienia szerokości

ZWCAD+ wykonuje to bez problemu.

Zgłoszę to do ZWSOFT

Okey, ta informacja jest pocieszająca. Najwyżej funkcja pojawi się od nowej wersji ZwCAD2012+, a teraz pozostanie wyłączona (no chyba, że ZWSOFT coś wymyśli).

Dzięki za sprawdzenie.

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Rozumiem. Zacząłem wstępne testy na ZwCAD2012+ (choć problem mam z licencją, o czym napisałem w innym poście) i tam faktycznie sporo problemów programistycznych jest już rozwiązanych.

Nie będzie chyba tajemnicą, jeśli ZwSOFT potwierdzi, że nie wypuści już poprawek do ZwCAD2012? Byłoby to pomocne, taka oficjalna wypowiedz z Ich strony, aby móc ją przekazać klientom...

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie