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

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

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

Страници по тази тема: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | (покажи всички)
Тема Re: Програмиране в ACADнови [re: Pink]  
АвторStSt (Нерегистриран)
Публикувано01.06.06 09:24



Щом сега започваш - хвани VBA. Просто ще ти бъде по-лесно да преминеш и към проектиране в други офис приложения и ще можеш да ги свързваш в общи проекти. За диалозите си прав - много дървени са.
Сега малко за организацията на данните в чертежа. За дребни работи не е от такова значение организацията, но за по-големи работи и особено при работа в група е задължително. За унификацията - трябва да се изработят някои прости правила и да се ползват при всички случаи. Ще ти дам пример:
Направил съм си няколко набора от блокове (за вътрешни инсталации, за външни захранвания и т.н.). Когато създавам такъв блок му закачам два невидими константни атрибути с имена HIDDENNAME и GROUP. В HIDDENNAME слагам пълното име на изобразявания обект ("осветително тяло с ЛЛ 2х40" например), а в GROUP групата на блоковете ("осветителни тела", "табла", "стълбове" и т.н.). Тези атрибути ги ползвам в списъци за вмъкване на блоковете (доста по-удобно е да избереш блок "осветително тяло с ЛЛ 2х40" отколокото "qweasd2-40"), при създаване на легенда и спецификация, разни справки и т.н.



Тема Относно организация на даннитенови [re: StSt]  
АвторPink (Нерегистриран)
Публикувано01.06.06 13:25



Явно не съм разбрала каква организация имаш предвид.
Мислех, че говориш за организацията на самата програма.
Организацията на самия чертеж е може би най-важната тема, но няма никаква връзка с програмирането. Тъй като много ме вълнува тази тема ще я изнеса отделно. Ще се радвам, ако повече хора вземат отношение.



Тема Re: Относно организация на даннитенови [re: Pink]  
АвторStSt (Нерегистриран)
Публикувано01.06.06 16:05



Организацията на данните в чертежа има пряко отношение към програмирането. Това е първата стъпка.
Аз съм привърженик на програми, които подпомагат проектирането. Това не изключва "ръчно" въвеждане и затова именно спазването на принципите осигурява нормалната работа на програмите.
В примера за невидимите атрибути на блоковете, ако въведеш блок без необходимите атрибути, съответните програми няма да ги обработват и резултатите няма да са коректни.



Тема Re: Относно организация на даннитенови [re: StSt]  
АвторPink (Нерегистриран)
Публикувано01.06.06 18:00



Да, това е вярно. Но в случая става дума за изисквания на програмата. Това се залага още при формирането на идеята за самата пограма. Предполагам, че може да се тръгне и по друг път. Програмистът сам си решава какви рамки ще постави.
На мене ми е най-интересно, така да си организирам даден чертеж, че да свърша определена работа само с подръчни средства и де не се стигне до програмиране. Разбира се става дума за прости задачи. За по-сложни няма да мине без програмиране.



Тема Re: Мотивация ...нови [re: Mинaвaщ]  
АвторПporpaмиcт (Нерегистриран)
Публикувано02.06.06 15:24



Отдавна не бях влизал в тоя форум и с удоволствие открих интересната тема.

Пич, трябва да си много богат щом за такива прости задачки даваш по 5 лева.


Готов съм да ти ги правя на VBA за по 3 лева, говоря сериозно, заедно с нещата, които наричаш екстри.

Ще си направя малко реклама.
Писал съм (и продължавам да пиша) макроси за пресмятане на разгъвки на листови конструкции, като се почне от обикновения конус, цилиндър пресечен с наклонена равнина, преходи от правоъгълник в кръг, също и нетипови фигури - например преход между две окръжности разположени под произволен ъгъл в пространството. Най големия макрос, който съм писал е за генериране на NC - koд за машини за газово и плазмено рязане на листов материал.

Ако имаш нужда от нещо, само се обади!



Тема Re: трябва да си много богат ...нови [re: Пporpaмиcт]  
АвторMинaвaщ (Нерегистриран)
Публикувано02.06.06 21:07



В отговор на:

Пич, трябва да си много богат щом ...



Toва е само Пример , но съм напълно сериозен ...
Щукнало му на някой , че иска нещо по никое време ... колко да му вземеш ?
Виктори (кутия) 2,60лв. , Кафе с Кола 1,20лв. , голям Jameson 7лв. ...
Естествено , че като станат 20-тина почва човек да мисли ...
Или пък , ако се направи списък с желания и после се остойности , цена на едно от списъка може да е по-ниска , но това си е отстъпка за количество ...
Аз нямам идеи за нищо по-конкретно , но ... ki_ko_ko@abv.bg



Тема Re: трябва да си много богат ...нови [re: Mинaвaщ]  
Авторпporpaмиcт (Нерегистриран)
Публикувано02.06.06 23:05



Писах ти на мейла и ти пратих и едно примерче...



Тема Re: трябва да си много богат ...нови [re: Mинaвaщ]  
Авторпporpaмиcт (Нерегистриран)
Публикувано03.06.06 14:36



Тук ти пускам едно макросче, което може би ще бъде полезно и за други. Служи за мащабиране на размерите в чертежа. Работи добре за детайли с размери от 10 до към 3000мм. Ако са по-големи или по-малки трябва се настроят обхватите.
За да се види "силата" на макроса трябва да свържеш към иконки двете подпрограми ScaleUp и ScaleDown, ако го стартираш от меню производителността му пада много.


Public Sub ScaleUp()
ChangeDimensions True
End Sub

Public Sub ScaleDown()
ChangeDimensions False
End Sub

Private Function ChangeDimensions(direction As Boolean)
Dim d3p As AcadDim3PointAngular
Dim ddi As AcadDimDiametric
Dim dor As AcadDimOrdinate
Dim dal As AcadDimAligned
Dim dro As AcadDimRotated
Dim dan As AcadDimAngular
Dim dra As AcadDimRadial
Dim ent As AcadEntity
Dim i As Integer, count As Integer
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
count = ThisDrawing.ModelSpace.count - 1
For i = 0 To count
Set ent = ThisDrawing.ModelSpace.Item(i)
Select Case ent.ObjectName
Case "AcDbRotatedDimension"
Set dro = ent
dro.ScaleFactor = dScale
Case "AcDbAlignedDimension"
Set dal = ent
dal.ScaleFactor = dScale
Case "AcDbRadialDimension"
Set dra = ent
dra.ScaleFactor = dScale
Case "AcDbDiametricDimension"
Set ddi = ent
ddi.ScaleFactor = dScale
Case "AcDbOrdinateDimension"
Set dor = ent
dor.ScaleFactor = dScale
Case "AcDb2LineAngularDimension"
Set dan = ent
dan.ScaleFactor = dScale
End Select
Next
ThisDrawing.Regen True
End Function




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



Имаше въпроси за ефективността и перспективността на LISP. Затова давам същата програма написана на LISP.

;променя DIMSCALE
(DEFUN chdScale (direction / dScale nab)
(setq nab (ssget "x" '((0 . "DIMENSION")))
dScale (GETVAR "DIMSCALE"))
(COND
((AND direction (< dScale 1.0))(SETQ dScale (* dScale 2.0)))
((AND direction (> dScale 1.0))(SETQ dScale (1+ dScale )))
((AND direction (> dScale 2.0))(SETQ dScale (1- dScale )))
(T (SETQ dScale (/ dScale 2.0)))
);COND
(SETVAR "DIMSCALE" dScale)
(COMMAND "DIM1")
(COMMAND "UPDATE" NAB "")
);chdScale

При създаване на бутони за увеличаване и намаляване на DIMSCALE в "Macro associated in this button" трябва да се запише
(chdScale T) - за увеличаване
(chdScale nil) - за намаляване
Увеличение на скоростта на обработка при варианта на LISP програмата ще се усети при чертежи с много чертожни елементи.



Тема Re: за сравнениенови [re: StSt]  
Авторpeshop (Нерегистриран)
Публикувано04.06.06 21:28



На VBA също може да е грозно и кратко.


В отговор на:


Function ChangeDimensions(direction As Boolean)
Dim iType(0) As Integer
Dim vValue(0) As Variant
dScale = ThisDrawing.GetVariable("DIMSCALE")
dScale = IIf(direction, IIf(dScale < 1, dScale * 2, dScale + 1), _
IIf(dScale > 2, dScale - 1, dScale / 2))
vValue(0) = "DIMENSION"
Set sSet = ThisDrawing.SelectionSets.Add("DIM")
sSet.Select acSelectionSetAll, , , iType, vValue
For Each aEnt In sSet
aEnt.ScaleFactor = dScale
Next
sSet.Delete
Update
End Function

Sub ScaleUp()
ChangeDimensions True
End Sub

Sub ScaleDown()
ChangeDimensions False
End Sub



ПП Нямам претенции за изчерпателност, че работи вярно (даже се сещам и кога ще гръмне) и т.н., но просто от спортна злоба.




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


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

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