Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 02:19 15.05.24 
Компютри и Интернет
   >> CAD/CAM
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
Тема Re: за сравнениенови [re: peshop]  
Автор (Mинaвaщ) (същият)
Публикувано05.06.06 00:36



Да попитам и Аз !
Това върши ли подобна работа ?
-----------------------------------------------------------
Увеличаване на DIMSCALE + UPDATE на Dimension :
$M=$(if,$(>=,$(getvar,dimscale),1),^^_dimscale $(+,$(getvar,dimscale),1),^^_dimscale $(*,$(getvar,dimscale),2));_-dimstyle a all;;
Намаляване на DIMSCALE + UPDATE на Dimension :
$M=$(if,$(>=,$(getvar,dimscale),1),^^_dimscale $(-,$(getvar,dimscale),1),^^_dimscale $(/,$(getvar,dimscale),2));_-dimstyle a all;;
Но има проблем като стигне до 0-та ...
-----------------------------------------------------------
Текста се слага директно като макрос на бутона ...



Тема Re: за сравнениенови [re: StSt]  
Авторпporpaмиcт (Нерегистриран)
Публикувано05.06.06 14:43



Ето я същата функция написана по твоя начин:

Public Sub ChangeDimmensions()
Dim dScale As Double
dScale = ThisDrawing.GetVariable("DIMSCALE")
If direction Then
If dScale < 1 Then
dScale = dScale * 2
Else
dScale = dScale + 1
End If
Else
If dScale > 2 Then
dScale = dScale - 1
Else
dScale = dScale / 2
End If
End If
ThisDrawing.SetVariable "DIMSCALE", dScale
ThisDrawing.SendCommand "-dimstyle" & vbCr & "a" & vbCr & "all" & vbCr & vbCr
End Sub


Ako се използва функцията IIf както е направил колегата по-горе ще стане още по-кратка.



Тема Вместо заключениенови [re: StSt]  
АвторStSt (Нерегистриран)
Публикувано07.06.06 09:48



Повдигнах темата защото смятам, че е важна.
В написаните мнения почти всички бяха разочаровани от ниското ниво на ползващите чертожни програми (не само на ACAD). И аз мисля така. Стигнал съм до мнение, че има два подхода при ползване на чертожни програми - на "чертожника" и "проектанта" (слагам ги в кавички защото много проектанти работят с програмите като чертожници). При подхода на "чертожника" всичко се смята предварително, разчертава се с моливче и след това се изчертава "на чисто" на компютъра. Такива хора работят с линии, окръжности, дъги и т.н. и ползват генериращите команди (такива като LINE, CIRCLE ....).
"Проектанта" констуира чертежа си в процеса на ползване на програмите, като следва взаимовръзките между реалните физически обекти, ползвайки редактиращите команди на програмите (CHAMFER, FILLET, OFFSET, DIVIDE, MEASURE .....). Обектите с които работят са отражение на реални физически обекти (линията за него е стена, кабел ....). Необходимите размери и параметри се получават в процеса на конструиране на чертежа.
Е, как да автоматизираш работат на "чертожника" - най-много да му организираш малко слоевете и линиите, за да ползва някои по-мощни команди (QSELECT например). Специализирани програми не му трябват.

Беше повдигнат и въпроса за заплащането - такова няма. Смятам, че ще се появи тагявя, когато се появи търсенето. И тайната ми мисъл при пускането на тази тема беше да покажем, че може много по-интелигентно и ефективно да се работи, ползвайки специализирани програми, направени според собствените разбирания и начин на работа. От опит знам, че който пробва веднъж, след това иска още и още. Апетитът идва с яденето.

Друг повод за тази тема беше обмен на идеи и решения - появиха се и такива мнения. Дадени бяха решения на LISP, VBA, DIESEL ..... Така се повишава нивото на програмистите и това е много хубаво.

И накрая - според силите си ще помагам на всеки, който постави проблем в клуба.



Тема Re: Вместо заключениенови [re: StSt]  
Автор(Mинaвaщ) (Нерегистриран)
Публикувано07.06.06 12:32



В отговор на:

И накрая - според силите си ще помагам на всеки, който постави проблем в клуба.



БЛАГОДАРЯ предварително !
Аз ще продължавам когато ми хрумне да правя "разкази в картинки" за интересни според мен неща !
Мислех , че е време да премина и към Flash анимация , но не съм сигурен как ще се преборя с блокирането на ActiveX контролите от IE и засега ще са само картинки в HTML .



Тема Re: Вместо заключениенови [re: StSt]  
Авторkolumb (Нерегистриран)
Публикувано30.06.06 18:50



Как така заключение, никаква почивка по въпроса


Имам питане:
Искам с един бутон да се включват и изключват групи слоеве. Засега съм го решил с бутончета в tool pallete, като всяко бутонче изпълнява скрипт от вида:
-layer ON слой1, слой2интервалинтервал
-layer OFF слой1, слой2интервалинтервал
Обаче така са ми нужни два бутона - един за включване и един за изключване.
Има ли начин това да се напише като LISP програмка, която да създава променлива sloeve1 и когато тя е 1(т.е.преди това слоя е бил включен) за го изключи и съответно когато променливата е 0 (т.е. слоевете преди това са били изключени) да ги включи. По този начин всичко ще става с един единствен бутон.
Следващото ми питане е как се закача LISP програма за бутон.
Благодаря предварително.



Тема Re:... потребителски интерфейснови [re: kolumb]  
АвторMинaвaщ (Нерегистриран)
Публикувано01.07.06 17:38



В отговор на:

Следващото ми питане е как се закача LISP програма за бутон.



Eто това е според Мен въпрос в много правилна посока !
Колкото и да се заиграва човек и да събира помощни програмки за АutoCAD , aко неможе да се подредят в лесно достъпна форма са практически трудно използваеми !
Мислех си да пиша Урок по проблема , но се усетих че 50% я знам я незнам и се самовъзпрях . В общи линии нещата гравитират около Меню , Бутон , Тулпалет и ...
Изписването на командата на лиспа е потенциално Macro-то на бутона ... по-горе имаше описано и по-умно (елегантно) изписване ...
Спирам да пиша , че май са глупости ...



Тема Re: Вместо заключениенови [re: kolumb]  
АвторPin (Нерегистриран)
Публикувано01.07.06 22:04



Как се закача лисп програма към бутон - Имаш поне два варианта:
Вариант 1:
Десен клик върху който и да е видим тоолбар и избираш Customize, след което имаш възможности да си направиш нов тоолбар и да вкараш в него нов бутон или да вмъкнеш нов бутон във вече съществуващ тоолбар. В свойствата на бутона трябва да има един теьт бокс, където пище " Macro associated with the button.." или нещо подобно и там вмъкваш примерно:
^C^C(func_in_lisp par1 par2)
Вариант 2:

Пишеш един меню фаил, където описваш тоолбара и бутона(ите) и после го зареждаш този менюфаил с командата menuload. Ако не се вижда ще трябва да избереш view/toolbars и да го го отметнеш за да се покаже

Ето ти извадки от един примерен менюфаил, където се вика директно функция написана на лисп:

***MENUGROUP=PIPE
***TOOLBARS

**GEOHATCH
TID_TbGeoH [_Toolbar("GeoHatch", _Floating, _Hide, 85, 378, 1)]
TID__GHEarth [_Button("Earth", "h_eart_16.bmp", "h_eart_32.bmp")]^C^C(ghatch "earth" 20.0)


За слоевете си на прав път


Приблизително текста ще бъде такъв (нямам Аутокад и ако намеря някъде под ръка през следващите дни ще я проверя)

(setq aa (if aa
(command "layer" "off" "1,2" "")
(progn
(command "layer" "on" "1,2" "")
t
)
)
)

с "аа" съм кръстил променливата (когато е Т, слоеве "1" и "2" са включени, когато е nil са изключени)


Абе дира нещо ми изяжда подредбата на кода, но се надявам все пак и така да е достатъчно ясен



Тема Re: Вместо заключениенови [re: Pin]  
АвторStSt (Нерегистриран)
Публикувано03.07.06 11:47



Искам само да добавя, че вместо променлива може да се ползва състоянието на слоя (включен или изключен). Това става така


(if (>=(cdr(ASSOC 62(tblsearch "layer""1")))0)
(command "layer" "off" "1,2" "")
(command "layer" "on" "1,2" ""))

Групата с ключ 62 е за цвят на слоя. Ако стойността е отрицателена, значи че слоя е изключен и обратно



Тема Re: Вместо заключениенови [re: StSt]  
Авторkolumb (Нерегистриран)
Публикувано03.07.06 16:20



ОК, до тук добре, сега как ще изглежда като цяла програма, защото само това if-че не работи.



Тема Re: Вместо заключениенови [re: kolumb]  
Авторkolumb (Нерегистриран)
Публикувано03.07.06 16:35



Освен това е необходимо да се прави проверка дали слоя, който се изключва е текущ, защото тогава трябва да се добави още едно "y" накрая тъй като AutoCAD пита да ли сме сигурни, че искаме да изключим текущия слой.
за исключване на текущия слой:
-layer OFF layer1,layer2 y[][]
за всички останали:
-layer OFF layer1,layer2 [][]
Това е във формат за скрип

, [] e знак за интервал.




Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.