Forum Konstruktor budowlany Strona Główna Konstruktor budowlany
Forum projektantów
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Wolne LISPY przyśpieszające pracę w CAD
Idź do strony Poprzedni  1, 2, 3, 4, 5, 6
 
Napisz nowy temat   Odpowiedz do tematu    Forum Konstruktor budowlany Strona Główna -> Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kamild
Doświadczony Forumowicz



Dołączył: 31 Mar 2011
Posty: 1545
Przeczytał: 28 tematów

Pomógł: 33 razy
Ostrzeżeń: 0/5

PostWysłany: Pon 13:39, 21 Mar 2016    Temat postu:

Dziś wieczorem, jak znajdę, to Ci podeślę listę z zetownikami od pruszyńskiego. Inne profile chyba też mam ale raczej nie w Twoim formacie (robiłem do BestCada) - ale jak się otworzy w Excelu można przełożyć tabelki.

edit: platwie mam:
[link widoczny dla zalogowanych]


Post został pochwalony 0 razy

Ostatnio zmieniony przez kamild dnia Pon 13:46, 21 Mar 2016, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Parikon
Skokovis



Dołączył: 09 Lip 2014
Posty: 2109
Przeczytał: 0 tematów

Pomógł: 38 razy
Ostrzeżeń: 0/5

PostWysłany: Pon 23:07, 21 Mar 2016    Temat postu:

kamild napisał:
Dziś wieczorem, jak znajdę, to Ci podeślę listę z zetownikami od pruszyńskiego. Inne profile chyba też mam ale raczej nie w Twoim formacie (robiłem do BestCada) - ale jak się otworzy w Excelu można przełożyć tabelki.

edit: platwie mam:
[link widoczny dla zalogowanych]


Już nie potrzebne.

Napisałem funkcję, która tworzy listę nazw profili wpisanych w bazie niezależnie od ilości wierszy.
Program pliki z bazami będzie miał w formacie otwartym. Wpisuje kilka pierwszych profili. Każdy może sobie otworzyć plik do edycji i dopisać nowe profile.
Dopisanie nowego wiersza bez tabulacji tylko używając spacji załatwi sprawę.
Nowy profil będzie się pojawiał w oknie programu bez problemu. Wystarczy kilka pozycji w bazie aby ją uzupełnić



Cały czas myślę nad licencją modułu Wink


Post został pochwalony 0 razy

Ostatnio zmieniony przez Parikon dnia Pon 23:07, 21 Mar 2016, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Parikon
Skokovis



Dołączył: 09 Lip 2014
Posty: 2109
Przeczytał: 0 tematów

Pomógł: 38 razy
Ostrzeżeń: 0/5

PostWysłany: Sob 12:29, 23 Wrz 2017    Temat postu:

kamild napisał:
Kod:
(vl-load-com)
(setq *OldLayer* (getvar "CLAYER"))
(vl-cmdf "_layer" "_make" "Wymiar" "_color" 1 "" "") ;
(vl-cmdf "_layer" "_make" "Szraf" "_color" 9 "" "") ;
(vl-cmdf "_layer" "_make" "Opis" "_color" 1 "" "") ;

(setvar "clayer" *OldLayer*)
(setq *OldLayer* nil)
;;;;;;
;;; ...
;;;;;;
;;;;;;-------------------------------------------------------------
(if *vlr-cmd*
(progn
(setq *vlr-cmd* nil)
(vlr-remove-all :vlr-command-reactor)
) ;_ end of progn
) ;_ end of if
(if (not *vlr-cmd*)
(setq *vlr-cmd* (vlr-command-reactor "cmd"
'((:vlr-commandwillstart . cmd-start)
(:vlr-commandended . cmd-end)
(:vlr-commandcancelled . cmd-end)
(:vlr-commandfailed . cmd-end)))))
;;;;;;-------------------------------------------------------------
(defun cmd-start (calling-reactor startcommandInfo / thecommandstart)

(setq thecommandstart (nth 0 startcommandInfo))
(if (null *OldLayer*)(setq *OldLayer* (getvar "CLAYER")))
(cond
;;;_Reakcja na poczatek komendy DIM* (DIMALIGNED DIMLINEAR i wszystko co zaczyna sie na DIM)
((wcmatch thecommandstart "DIM*") ;_Jezeli ma miejsce komenda DIM*
(setvar "clayer" "Wymiar") ;_Warstwa wymiary powinna byc utworzona wyzej (vl-cmdf "_layer" ...

)
;;; Koniec reakcji na DIM*
((wcmatch thecommandstart "*HATCH*") ;_Jezeli ma miejsce komenda *HATCH*
(setvar "clayer" "Szraf")
)
((wcmatch thecommandstart "*TEXT") ;_Jezeli ma miejsce komenda *TEXT (TEXT DTEXT)
(setvar "clayer" "Opis")
)
(t nil))
(princ))
;;;-------------------------------------------------------------
(defun cmd-end (calling-reactor cmd / cmd_name)
(setq cmd_name (strcase (car cmd)))
(if (or
(wcmatch cmd_name "*HATCH*") ;_Jezeli ma miejsce komenda DIM*
(wcmatch cmd_name "DIM*") ;_Jezeli ma miejsce komenda *HATCH*
(wcmatch cmd_name "*TEXT") ;_Jezeli ma miejsce komenda *TEXT (TEXT DTEXT)
)
(progn
(if *OldLayer* (setvar "clayer" *OldLayer*))
(setq *OldLayer* nil)
))
(princ))

Krótki program który automatycznie przerzuca wymiary, teksy i kreskowanie na odpowiednie warstwy (tutaj: wymiar, szraf, opis). Jeśli warstwa nie istnieje to ją tworzy. Pomaga utrzymać porządek na rysunku. Zaletą jest to, że przerwanie polecenie przez klawisz ESC nie zmienia warstwy. Używam. Polecam!

ps: oczywiście można łatwo rozbudować na inne polecenia


Udało się zrobić podobny w C# i autocad .NET.

[link widoczny dla zalogowanych]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Konstruktor budowlany Strona Główna -> Programowanie Wszystkie czasy w strefie EET (Europa)
Idź do strony Poprzedni  1, 2, 3, 4, 5, 6
Strona 6 z 6

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin