|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Интересная задачка по автоматическому построению графика (схемы)
Регистрация: 09.10.2010
Сообщений: 2
|
||
Просмотров: 5145
|
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Никакого отношения такие "задачки" к Excel не имеют.
Решать надо в любой настоящей среде программирования с помощью базы данных. Может и база данных формата Access (mdb) подойти (но не сама программа MS Access) для хранения неограниченных объемов данных. База данных должна содержать несколько связанных таблиц, например для выбора УГО. Непременно должны быть и координаты узлов объектов, иначе никаких схем (да еще в масштабе, да еще с пересечениями, да еще с расстановкой УГО) не получить. 95% объема такой программы будет работа с базой данных. И 90% работы - продумывание правильной концепции. А уже последующее построение схемы в AutoCAD (при известных координатах) достаточно простое. Тем более - формирование любых графиков, которые легко автоматически "рисуются" по информации из БД при построении отчетов с использованием соответствующих компонентов. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Цитата:
По моему первое что необходимо понять - а нужен-ли в этой задаче Excel и Autocad как таковые?
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 09.10.2010
Сообщений: 2
|
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Из excel'я их можно вытащить абсолютно куда угодно, вопрос в том где и в чем их нужно "визуализировать" и что в дальнейшем кроме непосредственно просмотра с этими графами нужно будет делать - использовать автокад, только для того чтоб через него посмотрерть - по меньшей мере затрано, как по деньгам, так и по системным ресурсам, другое дело если потом предполагается в нем с этими данными работать. А вариантов тут тьма, от графиков в екселе, до самостоятельной программы с импортом и экпортом от и во "вся", собственным просмотром, редактированием, печатью и пр.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
гадание на конечно-элементной гуще Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,596
|
я сейчас маюсь такой же фигнёй, только в нанокаде. но думаю, что в акаде всё тоже самое
делаю так: в экселе необходимо с помощью формул получить код будущей программы на vbs, например: формула в экселе Код:
Line 0,30,120,30 полный код, который я получаю в экселе: Dim x1 Dim y1 Dim x2 Dim y2 Dim dx Dim dy Dim dimtext Dim text1 ThisDrawing.Layers.Add("КЖ_арматура кжи") ThisDrawing.Layers.Add("КЖ_размеры") ThisDrawing.Layers.Add("КЖ_0") Line 15,0,15,3620 Line 105,0,105,3620 Line 0,30,120,30 Line 0,510,120,510 Line 0,2850,120,2850 Line 0,3000,120,3000 DimAlignedText 0,0,120,0,0,-330,"120" DimAlignedText 15,0,105,0,0,-200,"90" DimAlignedText 0,0,0,3620,-360,0,"3620" DimAlignedText 0,0,0,30,-200,-100,"30" DimAlignedText 0,30,0,510,-200,0,"120 x 4 = 480" DimAlignedText 0,510,0,2850,-200,0,"180 x 13 = 2340" DimAlignedText 0,2850,0,3000,-200,0,"150" DimAlignedText 0,3000,0,3620,-200,0,"620" tLine 15,1810,405,2110 tLine 105,1810,405,2110 tLine 405,2110,555,2110 mytext "1",445,2130 mytext "2шт",415,2040 tLine 60,3000,360,3300 tLine 360,3300,510,3300 mytext "2",400,3320 ThisDrawing.Application.ZoomAll Sub Line(x1,y1,x2,y2) Dim oLine Set oLine = ThisDrawing.ModelSpace.AddLine(CStr(x1)+","+CStr(y1)+","+CStr(0), CStr(x2)+","+CStr(y2)+","+CStr(0)) oLine.Layer = "КЖ_арматура кжи" End Sub Sub tLine(x1,y1,x2,y2) Dim oLine Set oLine = ThisDrawing.ModelSpace.AddLine(CStr(x1)+","+CStr(y1)+","+CStr(0), CStr(x2)+","+CStr(y2)+","+CStr(0)) oLine.Layer = "КЖ_0" End Sub Sub DimAligned(x1,y1,x2,y2,dx,dy) Dim oDim Set oDim = ThisDrawing.ModelSpace.AddDimAligned(CStr(x1)+","+CStr(y1)+","+CStr(0), CStr(x2)+","+CStr(y2)+","+CStr(0),CStr(dx)+","+CStr(dy)) oDim.Layer = "КЖ_размеры" oDim.ScaleFactor = "20" oDim.TextInside = true End Sub Sub DimAlignedText(x1,y1,x2,y2,dx,dy,dimtext) Dim oDim Set oDim = ThisDrawing.ModelSpace.AddDimAligned(CStr(x1)+","+CStr(y1)+","+CStr(0), CStr(x2)+","+CStr(y2)+","+CStr(0),CStr(dx)+","+CStr(dy)) oDim.Layer = "КЖ_размеры" oDim.TextOverride = dimtext oDim.ScaleFactor = "20" oDim.TextInside = true End Sub Sub mytext(text1,x1,y1) Dim txt1 Set txt1 = ThisDrawing.ModelSpace.addtext(text1,CStr(x1)+","+CStr(y1)+","+CStr(0),CStr(50)) txt1.Layer = "КЖ_0" End Sub дальше в экселе создаю макрос, который из определённых ячеек сохраняет "код" во внешний файл: Код:
дальше в нанокаде настраиваю кнопку, которая запускает скрипт. всё =) на выходе получаю вот такой миленький каркас (с учётом настроек текстовых и размерных стилей в шаблоне, настройке слоев) п.с. я не программист =) точнее сказать, зарабатываю я не программированием, а проектированием ЖБК, просто пытаюсь автоматизировать рутину Последний раз редактировалось swell{d}, 18.11.2012 в 16:34. |
|||
![]() |
|
||||
Регистрация: 06.04.2009
Сообщений: 702
|
Прикольно. ИМХО громоздко. Поделюсь своим методом, может пригодится:
1. Создается и подключается надстройка в которой дублируются нужные команды автокада. В экселе они будут видны как "пользовательские функции". 2. В экселе делается кнопка которая все это "добро" посылает в коммандную строку: Код:
__________________
КазнитьØнельзяØпомиловать:eek: |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интересная задача по построению | shadowxnex | AutoCAD | 10 | 08.10.2012 10:30 |
Интересная задачка... Построение развертки наклонного конуса | Дмитррр | Разное | 34 | 11.09.2007 23:25 |