-
Postów
218 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
6
Treść opublikowana przez Assgarth
-
Odczytywanie długości elementów
Assgarth odpowiedział(a) na KBR temat w Wsparcie programistyczne LISP i VisualLISP
Proszę spróbować w ten sposób: (command "_lengthen" (car (entsel "\nWskaż obiekt do odczytu długości: "))) (getvar "perimeter") lub jeszcze lepiej, pobrać bibliotekę stąd: http://cad.pl/ftp/Pack/v1/CADPL-Pack-v1.lsp a następnie użyć polecenia: (cd:ACX_GetProp (car(entsel "\nWskaż obiekt: ")) '("Length" "Angle")) Dla LWPOLYLINE, trzeba by określić kąt dla wskazanego segmentu (w przypadku gdy nie jest to łuk). Ale to dopiero wówczas można zrobić, kiedy faktycznie okaże się konieczne. EDIT: lub też użyć funkcji Lee-Mac: (defun c:tlen ( / e i l s ) (if (setq s (ssget '( (0 . "ARC,CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE") (-4 . "<NOT") (-4 . "<AND") (0 . "POLYLINE") (-4 . "&") (70 . 80) (-4 . "AND>") (-4 . "NOT>") ) ) ) (progn (setq l 0.0) (repeat (setq i (sslength s)) (setq e (ssname s (setq i (1- i))) l (+ l (vlax-curve-getdistatparam e (vlax-curve-getendparam e))) ) ) (princ "\nTotal Length: ") (princ (rtos l)) ) ) (princ) ) pozdrawiam -
-
Witam, kiedy można się spodziewać funkcji "_join" dla obiektów SPAJN? pozdrawiam
-
Jak określić wersję ZWCADa
Assgarth odpowiedział(a) na 2P temat w Wsparcie programistyczne LISP i VisualLISP
Można jeszcze: (getvar "ACADVER") dla ZwCAD 2012 da nam "16.0i" dla ZwCAD 2012 + da nam "18.1" pozdrawiam -
-
Sęk w tym, że to nie musi być nawet z poziomu Lispa. Wystarczy narysować dwie pionowe linie, potem poziome i tak jak przedstawiłem wcześniej, pomniejszyć obszar widoku i wskazać ręcznie punkt gdzie ma powstać kreskowanie: pozdrawiam
-
Witam, nie bardzo rozumiem problemów z kreskowaniem w ZwCAD2012+ VERNUM = "2013.03.31(11367)"... Na poniższym przykładzie pokazuję o co chodzi: Do zakreskowania jest obszar prostokątny o pewnych rozmiarach, tyle że widok jest w pomniejszeniu (nie ma zoom na obiekt). Wówczas, przy prawidłowym wskazaniu punktu wewnątrz tego obszaru, pojawia się komunikat: "Przekroczono limit obiektów kreskowania". - po co się pojawia, skoro i tak kreskowanie następuje?? - jakie granice kreskowania, skoro jest to prostokąt - 4 linie max?? Da się to jakoś wyłączyć? Obecnie z automatu z poziomu VLisp, przez ten komunikat, kreskowanie jest skopane... użytkownik musi za każdym razem potwierdzić "OK". Sprawdzałem ten sam przypadek w innych CAD i wszystko działa prawidłowo (bez komunikatów). pozdrawiam
-
[Visual Lisp] - obiekt TABLE
Assgarth odpowiedział(a) na Assgarth temat w Wsparcie programistyczne LISP i VisualLISP
Pojawia się komunikat: błąd: Wystąpił wyjątek: 0xC0000005 (Naruszenie dostępu) pozdrawiam -
[Visual Lisp] - obiekt TABLE
Assgarth odpowiedział(a) na Assgarth temat w Wsparcie programistyczne LISP i VisualLISP
Witam, sprawdziłem działanie ACAD_TABLESTYLE w najnowszej wersji ZwCAD2012+ SP2: (vl-catch-all-apply 'vla-AddObject (list (vla-item (vla-get-Dictionaries (vla-get-ActiveDocument (vlax-get-acad-object))) "ACAD_TABLESTYLE") "MyStyle" "ZcDbTableStyle")) i wygląda, że ta część działa prawidłowo. Pytanie zatem następujące: - jak nadać styl tekstom zawartym w tak utworzonym stylu tabeli? ; tName [sTR] - nazwa Stylu Nagłówka ; fTxtT [REAL] - wysokość tekstu nagłówka ; fTxtD [REAL] - wysokość tekstu danych ;; Set the text height for the Title, Header and Data rows (vla-SetTextHeight custObj acTitleRow fTxtT) (vla-SetTextHeight custObj (+ acDataRow acHeaderRow) fTxtD) ;; Set the text height and style for the Title row (vla-SetTextStyle custObj (+ acDataRow acHeaderRow acTitleRow) tName) Powyższe nie działa. Jak zatem dostać się do tych ustawień z poziomu VLISPa? -
[Visual Lisp] - obiekt TABLE
Assgarth odpowiedział(a) na Assgarth temat w Wsparcie programistyczne LISP i VisualLISP
Kiedy można spodziewać się wersji 2013.01.27(9513) do testów? Sprawdziłem działanie ACAD_TABLE pod wersją 2012.12.14(8707) i stabilność pracy pozostawia wiele do życzenia... Albo nie działa w ogóle, albo wywala całego ZwCADa w kosmos bez ostrzeżenia o błędach... wrrrr :???: -
Piszemy darmowa nakładka ? Jaka ?
Assgarth odpowiedział(a) na Jason temat w Nakładki na ZWCAD i ZWCAD+
Brzmi ciekawie i pięknie, ale jest jedno wielkie "ALE"... mianowicie ZwCAD z poziomu VisualLisp, nie obsługuje DBX, więc wszelkie próby powiązania rysunku z innymi, przeszukiwanie bazy danych DWG itp. odpada. Jest to obecnie dostępne tylko z poziomu VC++ czyli ZRX. pozdrawiam -
Piszemy darmowa nakładka ? Jaka ?
Assgarth odpowiedział(a) na Jason temat w Nakładki na ZWCAD i ZWCAD+
:cool: czemu lipa? Ja osobiście nie działam w żadnej branży, więc pomysłami tutaj rzucać nie będę. Niech się wypowiedzą Ci, którzy potrzebują jakiś konkretnych narzędzi. pozdrawiam -
Piszemy darmowa nakładka ? Jaka ?
Assgarth odpowiedział(a) na Jason temat w Nakładki na ZWCAD i ZWCAD+
Witam, jeśli chodzi o funkcje bazowe oraz gotowe narzędzia (za free) w LISP, to tutaj wszystko już się znajduje: http://forum.cad.pl/...lsp-t78161.html Baza ta jest stale rozwijana i poszerzana o kolejne funkcje. Fakt, że niektóre mogą nie znaleźć zastosowania w ZwCAD, i tylko na takich warto by się tutaj skupić, szukając alternatywnych rozwiązań. Choć już z doświadczenia wiem, że dla pewnych wersji ZwCAD, niektóre funkcje, nie znajdą rozwiązania, bo ich po prostu nie ma - patrz lista zgłoszonych błędów na tym forum z nazwą lub tagiem VisualLisp: http://forum.cad.inf...allisp-vba-zrx/ Tworzenie "nakładek", wymaga przede wszystkim sprecyzowania kilku kwestii: na które platformy CAD na którą wersję platformy CAD temat (branża) język programowania (bo sam LISP to będzie mało, więc od razu trzeba założyć VisualLisp oraz DCL ew. Diesel) czy powstaje dokumentacja a potem szczegóły: nazewnictwo funkcji przyjęcie sposobu definiowania zmiennych globalnych i lokalnych obsługa Rejestrów Windows itd. pozdrawiam, ZK -
ZWCAD+ Pro i wykorzystanie procesora
Assgarth odpowiedział(a) na dszemraj temat w Problemy techniczne w ZWCAD
Witam, u mnie sprawa wygląd tak, że w chwili "latania" kursorem po obszarze roboczym ZwCAD, procesor ma skaczące zużycie rzędu 5-22%: Wyłączenie podglądu Coordinates, niewiele pomaga. Nie jest to jednak ciągłe 25% Można jeszcze sprawdzić, czy zmiany parametrów w Opcje / Wyświetlanie, cokolwiek zmieniają. pozdrawiam.- 22 odpowiedzi
-
- wykorzystanie
- procesora
-
(i 1 więcej)
Oznaczone tagami:
-
ZWCAD+ Pro i wykorzystanie procesora
Assgarth odpowiedział(a) na dszemraj temat w Problemy techniczne w ZWCAD
Witam, pojawia się zatem też pytanie, na jakim poziomie jest zużycie procesorów gdy ZwCAD nie jest włączony? Bo skoro jest stały poziom zużycia, bez względu na to co się wykonuje w programie, to to troszkę dziwnie wygląda. Otwieranie okien systemowych, to uruchamianie nowego procesu, więc powinien następować wzrost zużycia, a nie spadek do 0%. Sprawdzał Pan różnice w przypadku pracy na baterii oraz na kablu (bez baterii)? pozdrawiam- 22 odpowiedzi
-
- wykorzystanie
- procesora
-
(i 1 więcej)
Oznaczone tagami:
-
Jak ustawić start programu z określonym plikiem *dwg?
Assgarth odpowiedział(a) na pmk temat w Porady techniczne
Ewentualnie byłaby opcja z jedną linijką kodu w V-LISP: (vl-catch-all-apply 'vla-open (list (vla-get-documents (vlax-get-acad-object)) (findfile "c:/Drawing2.dwg"))) tylko dwie sprawy: 1. ścieżkę i nazwę pliku musisz sobie ustawić na sztywno (zmieniać w razie potrzeby); 2. na ZwCAD VERNUM = "2012.08.30(5622)", ta funkcja vlisp: 'vla-open nie działa... może w nowszej wersji będzie okey. pozdrawiam -
Jak ustawić start programu z określonym plikiem *dwg?
Assgarth odpowiedział(a) na pmk temat w Porady techniczne
Spróbuj tego: http://www.cadtutor....-latest-drawing Lisp'a należy umieścić w liście plików startowych ZwCADa. Polecenie "_appload": pozdrawiam -
Jak ustawić start programu z określonym plikiem *dwg?
Assgarth odpowiedział(a) na pmk temat w Porady techniczne
jaki jest tego sens, skoro wystarczy wybrać z menu File odpowiedni plik (jeden z kilku ostatnio otwieranych)?? pozdrawiam -
[Visual Lisp] - obiekt TABLE
Assgarth odpowiedział(a) na Assgarth temat w Wsparcie programistyczne LISP i VisualLISP
U mnie nadal występuje błąd: Command: (vl-catch-all-apply 'vla-AddObject (list (vla-item (vla-get-Dictionaries (vla-get-ActiveDocument (vlax-get-acad-object))) "ACAD_TABLESTYLE") "MyStyle" "ZcDbTableStyle")) #<%catch-all-apply-error%> Obstawiam, że sprawdzane było na tej najnowszej wersji, bo na mojej VERNUM = "2012.08.30(5622)" (read only), nie działa. pozdrawiam -
[Visual Lisp] - obiekt TABLE
Assgarth odpowiedział(a) na Assgarth temat w Wsparcie programistyczne LISP i VisualLISP
Witam, jeszcze jedna sprawa: jak utworzyć nowy styl dla Tabeli za pomocą VLispa? Command:(vl-catch-all-apply 'vla-AddObject (list (vla-Item (vla-get-Dictionaries (vla-get-ActiveDocument (vlax-get-acad-object))) "ACAD_TABLESTYLE") "MyStyle" "AcDbTableStyle")) #<%catch-all-apply-error%> a powinno być: Command: (vl-catch-all-apply 'vla-AddObject (list (vla-Item (vla-get-Dictionaries (vla-get-ActiveDocument (vlax-get-acad-object))) "ACAD_TABLESTYLE") "MyStyle" "AcDbTableStyle")) #<VLA-OBJECT IAcadTableStyle 0000000038ff21a8> pozdrawiam -
[Visual Lisp] - obiekt TABLE
Assgarth odpowiedział(a) na Assgarth temat w Wsparcie programistyczne LISP i VisualLISP
Dziękuję za podpowiedź. Teraz inna sprawa - samo tworzenie obiektu TABLE za pomocą VLisp'a. (vla-Addtable (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object) ) ) (vlax-3d-point '(0.0 0.0 0.0)) 4 3 20.0 100.0 ) ; error: Automation Error. Description was not provided. Nie rozumiem, dlaczego nie można utworzyć tego obiektu za pomocą Active-X. Poniżej za pomocą entmakex: (defun c:addTable (insPt numRows numColumns rowHeight columnWidth) (entmakex (append (list '(0 . "ACAD_TABLE") '(100 . "AcDbEntity") '(100 . "AcDbBlockReference") (cons 10 insPt) '(100 . "AcDbTable") (cons 91 numRows) (cons 92 numColumns) ) ((lambda (l) (repeat numRows (setq l (cons (cons 141 rowHeight) l))) ) nil ) ((lambda (l) (repeat numColumns (setq l (cons (cons 142 columnWidth) l))) ) nil ) ) ) ) np. (c:addTable (getpoint) 12 12 22 22) i wszystko działa. Rozumiem, że Active-X jeszcze nie jest dopracowany? pozdrawiam -
[Visual Lisp] - obiekt TABLE
Assgarth opublikował(a) temat w Wsparcie programistyczne LISP i VisualLISP
Witam, proszę o potwierdzenie błędu, czy braku możliwości edycji obiektu TABLE w ZwCAD2012+ (VERNUM = "2012.08.30(5622)"), z poziomu Visual Lispa. Przykładowy kod dodający nowy rekord w ZwCAD: Command: (cd:ACX_SetProp (car(entsel)) '(("Rows" . 4))) (("Rows" . #<%catch-all-apply-error%>)) AutoCAD: Command: (cd:ACX_SetProp (car(entsel)) '(("Rows" . 4))) (("Rows" . :vlax-true)) Funkcja biblioteczna: ; =========================================================================================== ; ; Zmienia cechy obiektu VLA / Sets the property of VLA-Object ; Obj [ENAME/VLA-Object] - entycja lub obiekt VLA / entity name or VLA-Object ; Lst [list] - lista cech par kropkowych / list of dotted pairs properties ; ------------------------------------------------------------------------------------------- ; ; (cd:ACX_SetProp (entlast) '(("LineType" . "BLA")("Color" . 1)("Layer" . "0"))) ; =========================================================================================== ; (defun cd:ACX_SetProp (Obj Lst) (if (= (type Obj) (quote ENAME)) (setq Obj (vlax-ename->vla-object Obj)) ) (if (vlax-write-enabled-p Obj) (mapcar (function (lambda (% / %1) (cons (car %) (if (vlax-property-available-p Obj (car %) T) (if (setq %1 (vl-catch-all-apply (quote vlax-put-property) (list Obj (car %) (if (vl-symbolp (cdr %)) (eval (cdr %)) (cdr %) ) ) ) ) %1 :vlax-true ) :vlax-null ) ) ) ) Lst ) ) ) Sprawdzając istnienie właściwości "Rows" dla obiektu TABLE, otrzymujemy odpowiedź pozytywną, więc powinno działać: Command: (vlax-property-available-p (vlax-ename->vla-object (car(entsel))) "Rows" nil) T Pozdrawiam, Assgarth -
Na tej stronie: http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Create-object-Open-Office-Error/td-p/2817346#.UMH6oYPaXQU jest przykład kodu w LISP, który pozwoli na wyświetlenie błędów związanych z podpinaniem obiektów OLE (Excel, OpenOffice, SQL). U mnie na przykład (posiadam LibreOffice), brakuje prawidłowego osadzenia obiektu metodą "Embedded", dlatego mam problem z uzyskaniem właściwej postaci tabelki, po jej aktualizacji - przy czym jest to wina LibreOffice, nie ZwCAD'a. Może dla użytkownika z OpenOffice, problem ten nie wystąpi. Testujcie, pozdrawiam
-
Jest jednak coś, na co wcześniej nie zwróciłem uwagi (nie wprowadzałem więcej rekordów i kolumn), że zwiększając ilość danych w dokumencie, na rysunku nadal pozostaje miejsce na maksymalnie 5 rekordów i 4 kolumny :) No cóż.... no comments pozdrawiam
-
Proponuję następujące rozwiązanie: w ZwCAD z menu wybieramy: a następnie tworzymy nowy obiekt OpenOffice - Arkusz kalkulacyjny: Przedstawiłem na rysunku kiedy jest źle, oraz jak jest dobrze. W ten sposób, obiekt nie jest Static, tylko Embedded i dwuklik pozwala na jego edycję. Nie od razu widać zmiany, jakie się wprowadzi w arkuszu, ale wystarczy jeszcze raz dwuklik zrobić i dane ładnie się aktualizują. Testowałem na "text excela 2.xls". pozdrawiam