Jump to content

RRoman

Пользователи
  • Posts

    25
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by RRoman

  1. 240 р. за год - это даром, извините 20 р. в месяц. Согласен, но деньги не мои.
  2. Полностью согласен. Но тут такая тема - экономить на нужном и выкидывать деньги на полную чушь, например купить новый принтак за 200 тыр, вместо ремонта старого за 60... Достало. с 10-го апреля выхожу на новое место.
  3. У этого софта есть один минус - он платный. А тут была задача задешманить.
  4. Выкладываю очередную версию, видимо, последнюю, т.к. собираюсь менять место работы. Кто-то другой пусть допиливает/переписывает. Сырцы в свободном доступе. Написано, конечно, ужасно, но работает, зараза. Может вставить блок в чертеж из готового dwg файла, вытянуть описание блока, пронумеровать все добавленные блоки и построить по ним спецификацию. klen.zip
  5. Исправлен вылет при вставке уже имеющегося блока klen.zip
  6. DLL у меня будет лежать в сетевой папке - вне локалки работа не предполагается. Автозагрузку в нанокад буду прописывать через конфиг, а конфиг раздавать пользователям через групповую политику. Проблем с обновлениями не должно быть. Я планировал формировать спецификацию по команде, непосредственно в excel и не хранить ее нигде в чертеже. Именно так сейчас у нас дело и обстоит. Вообще, проектировщиками наших проектировщиков тяжело назвать - они скорее дизайнеры - накидывают оборудование в помещение. А инженерку и архитектуру куда-то на аутсорс сплавляют.
  7. У группы одинаковых блоков один номер. В старом модуле он присваивается в момент вставки блока. Насколько я понял, в чертеже есть база со всеми блоками. Планирую нумеровать блоки не при вставке, а по отдельной команде. Вопрос решился сам собой )
  8. Подскажите, как на ваш взгляд оптимальнее поступить со "спецификацией", т.е. со списком оборудования, передаваемым в excel? 1. Пытаться запихнуть всю инфу по блоку в его свойства, а потом считывать оттуда 2. Писать в свойства только UID объекта, а потом выдергивать всю инфу из БД Пока склоняюсь ко второму варианту он мне видится проще и быстрее реализуемым. И второе - как нумеровать блоки? Чего-то тут у меня вообще ступор - где взять счетчик.
  9. Исправленная ссылка на видео работы в автокаде _http://cloud.klen-net.ru/public.php?service=files&t=bb5fe9e68319577bd4952b91f910bc91
  10. Всем добрых суток! Первая версия модуля готова, так сказать preAlfa. Умеет строить дерево для списка блоков и вставлять выбранный блок в текущий чертеж. Инфу берет из БД Сырцы прилагаю. klen.zip
  11. слепил костыль Imports Multicad.Runtime Public Class SelBlock <CommandMethod("cus_SelBlock", CommandFlags.NoCheck Or CommandFlags.NoPrefix)> Public Sub selblock() Dim frmSel As New frmSelBlock() frmSel.Show() End Sub End Class
  12. Господа, подскажите, почему в нанокаде не появляется команда на открытие формы "cus_selBlock". Вызов делаю таким же образом, как и для других команд. Imports Multicad.Runtime Imports Multicad.DatabaseServices Public Class FrmBlockSelect <CommandMethod("cus_selBlock", CommandFlags.NoCheck Or CommandFlags.Redraw)> Public Sub FrmBlockSelect_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load и т.д.
  13. Начал я ваять своего Франкенштейна. Удалось накопипастить код, который добавляет блок в базу чертежа, но не получается его отрисовать. Подскажите, где моя ошибка? Imports Multicad.Runtime Imports Multicad.DatabaseServices Imports Multicad.DatabaseServices.StandardObjects Imports System.Windows.Forms Namespace insNewBlock Public Class insNewBlock <CommandMethod("cus_newBlock", CommandFlags.NoCheck Or CommandFlags.Redraw)> Public Sub SurroundingSub() Dim blName As String = "EVOLUTION EKF 411 AL UD" Dim blpatch As String = "h:\документы отделов\САПР\Tecnoeka\" & blName & ".dwg" Dim doc As McDocument = McDocumentsManager.GetActiveDoc() Dim refDoc As McDocument = McDocumentsManager.OpenDocument(blpatch, False, True) Dim sheetsId As List(Of Multicad.McObjectId) = refDoc.GetSheets() Dim modelSpace As McDocument = Nothing For Each idSheet As Multicad.McObjectId In sheetsId Dim sheet As McDocument = idSheet.GetObject() If sheet.IsModel Then MessageBox.Show(sheet.ToString()) modelSpace = sheet Exit For End If Next modelSpace.CopyObjects(doc, blName) Dim refBlk As McBlockRef = New McBlockRef() refBlk.BlockName = blName 'MessageBox.Show(refBlk.BlockName) refBlk.DbEntity.AddToCurrentDocument() End Sub End Class End Namespace
  14. Такой подход хорош, когда объектов немного. Сейчас интереса ради посчитал dwg в папке - 20732. даже, если 50% из них устаревший хлам, всё равно многовато для прописывания атрибутов руками. А писать софтину, которая автоматом раскидает атрибуты ничуть не быстрее, чем основной модуль А в чем засада с выноской? Я так понял, что нельзя заставить нанокад нарисовать выноску из внешнего модуля? тогда вопрос - нельзя средствами VB или вообще никак, кроме как мышью? Вопрос важный, т.к. выносками наши указывают точки подключения к коммуникациям.
  15. Видео работы с модулем. Весит 16 метров, поэтому выкладываю ссылку на него 1. Дрбавляю объекты 2. Удаляю один из них 3. Делаю сквозную нумерацию 4. Формирую спецификацию. _https://cloud.klen-net.ru/public.php?service=files&t=bb5fe9e68319577bd4952b91f910bc91
  16. да, всё верно. В БД грузится инфа из текстового файла с разделителями. Могу выложить кусок, но думаю это не принципиально. Каждый блок - отдельный dwg + wpf для превью блока при его выборе перед вставкой в чертеж (в понедельник выложу видео). Список блоков генерится отдельной внешней утилитой и подсовывается модулю в виде xml. Сплошная статика. Из БД тянутся параметры изделия при вставке блока и генерации спецификации. Нет даже никакого менеджера БД, чтобы подправить ошибку в описании или прибить устаревшую инфу. Похоже, что сделано на коленке, значит вероятность повторить довольно велика. Это воодушевляет )) Бд трогать не собираюсь, только надо будет сваять какой-нибудь простенький менеджер. Но это позже, позже...
  17. Рекомендуете посмотреть на шарп, чтобы не пришлось через месяц штурмовать его в срочном порядке? Насколько я понял, основной функционал надо будет накодить, а в нанокад только выкидывать команды на вставку блоков и их нумерацию. Главное, чтобы год не был выбит на гранитной плите... ) Спасибо! А если удастся - написать книгу "Как въехать в С++ за две недели и не сойти с ума". Не, гением я себя не считаю. Все-таки подразумевал VB/VBS/VB.NET/JS. Шарп - это если очень повезет и очень хорошо пойдет. )
  18. О приличном я пока не мечтаю, хотя бы рабочее )) До цивилизованного мира нам еще ой как далеко. Но это лирика... Схема БД меня порадовала (во вложении) )) Таблицы между собой не повязаны... Видео работы запишу в ближайшее время. dll "того" уже пробовал - первым делом. Разбирал через VB Decompiler 10.1 "Денег нет, но вы держитесь" (с) Быстро и красиво я и не надеюсь - "давно тут сидим" (с) У меня примерно 2 месяца, чтобы выкатить бэту. А так, это проект с открытой датой завершения. Сырцы планирую выложить тут в свободный доступ - авось пригодятся кому-нибудь. Ваять планирую на VB.
  19. Господа, спасибо за интерес к теме! Выкладываю готовый dwg и сгенерированную спецификацию Торты 21 Век Проект.dwg Торты 21 Век Проект спец.xls
  20. И как Вы себе представляете решение "с минимальным погружением добиться нужного функционала" ? - впрочем вопрос риторический... Варианты: 1. Изучить SQL/.NET/CAD/ потребности пользователей - и зафигачить самому. 2. Найти чела/организацию который все это могет - заплатить ему/им денег и написать почти все заново. Плюс надо еще чтобы кто то ставил задачи. (это наиболее цивилизованный вариант, я считаю). 3. Попробовать это средствами СПДС сделать. Нужен nano СПДС и руки с нужного места. может там какой минимальный функционал, который можно штатными/получштатными средствами сделать. 4. Найти чела который это делал и заплатить ему, если возьмется. 5. Затянуть тему на пару лет "авось рассосется" ) Вопрос не риторический, а вполне конкретный. Варианты с написанием сторонними компаниями/программерами почти что отпадают - хозяин конторы в глубокой печали, что пришлось оплатить счет на покупку после моего жесткого отказа впилить самый свежий акад "как раньше, без доп финансовых расходов" и почти что забастовки проектировщиков, отказывающихся работать в 2010. А тут я еще с одним счетом на сотню-другую приду.... Буду послан, хорошо если в мягкой форме. Максимальный бюджет проекта у меня 30К - столько готов заплатить из своих, только кто-ж возьмется-то за такую сумму? Так что придется пилить своими силами. СПДС у нас нет - наши сказали, что им хватит функционала голого НК - соптимизировали расходы, блин. Затягивать тему не получится - библиотека у нас на несколько тысяч объектов и врукопашную они с этим делом никак не справятся. Собственно, "минимальное прогружение" это достаточный (в математическом смысле) для решения задачи минимум знаний плюс направление для раскопок доп инфы. Объемы того, что необходимо (опять же в математическом смысле) знать для решения я прекрасно себе представляю По аналогии с построением ит-инфраструктуры - я могу любому, кто пару раз в жизни устанавливал винду и подключал комп к сети (этого достаточно) в понятных терминах объяснить как за 1 день собрать масштабируемое кластерное хранилище данных с двойной отказоустойчивостью и объемом, ограниченным только фантазией и имеющимся в наличии железом. А могу отправить изучать стек TCP-IP, курсы администрирования *nix, MS, cisco и т.д и т.п. (это необходимо) Я имею представление об sql, могу сделать простенький select из БД по id объекта - большее вряд ли понадобится. Синтаксис какого-нибудь языка и основные приемы кодинга можно втянуть за пару недель. Много не надо - подключить БД, получить параметры от пользователя, вытянуть инфу из БД и выдать набор команд нанокаду. CAD - вот тут у меня понимания очень мало - на уровне черчения курсачей и диплома 20 лет назад в универе - "кульман", не более того. Командной строкой пользовался только для ввода координат. Прошу совета вот по каким вопросам: 1. Правильно ли я построил алгоритм? Его я напишу чуть ниже. 2. На каком языке реализовывать? Чтобы не потратить три недели выпиливая код на VB, уперевшись, в результате, в его ограничения по возможностям работы с API нанокада. 3. Что из алгоритма вообще можно сделать через API голой 10-ки нанокада, а что придется выносить в модуль? Сам алгоритм, каким я его себе вижу: 1. Вызов модуля командой пользователя 2. Запрос каталога объектов из БД 3. Пользователь выбрал объект 4. Параметры объекта вытягиваются из БД а вот дальше идет завязка на нанокад, функционал которого мне неизвестен 5. Идет проверка на уникальность блока в пространстве документа 6. Блоку присваивается uid в пространстве документа, если такого блока еще не было 7. Изображение блока вставляется в чертеж. В отдельный слой идет выноска с параметрами мощности (инфа динамическая, вытянута из БД) 8. Когда разработка закончена, по команде пользователя блоки нумеруются "насквозь" через весь документ. Порядковый номер блока выводится на чертеж (выноска или просто номер поверх блока). Если была правка (вставка/удаление блоков) - блоки перенумеровываются, чтобы не было пропусков 9. Формируется спецификация - по uid всех блоков считается количество, их характеристики тянутся из БД и инфа выбрасывается в Excel с компановкой по категориям (осветительное оборудование, тепловое и т.п.) Вот такой минимальный функционал, достаточный для миграции в нанокад мне продемонстрировали проектировщики. Блэкджек со шлюхами будем прикручивать потом, когда они познают встроенные в платформу средства
  21. К сожалению, исходников нет. Судя по информации из dll это .NET, если я правильно понимаю
  22. Добрых суток, форумчане! Прошу помощи в решении задачи. Есть в нашей конторе с десяток проектировщиков, работающих в autocad. Для них давным-давно (под 2010 версию) была написана надстройка - библиотека типовых элементов. Ее функционал невелик - вставить блок в рабочее пространство, пронумеровать его, в доп слой добавить точки подвода питания и составить спецификацию по всем блокам с группировкой по типу оборудования. Вся информация (название, характеристики и т.д.) по объектам хранится в sql. Т.к. 2010 акад безбожно устарел руководство приняло решение обновиться, причем 1. Надстройка не взлетела в свежих версиях акада, 2. Ценник на на автокад совсем негуманен 3. "У нас есть компьютерщики - они решат все проблемы" Одним словом закупились NanoCAD+ 10, без всяких надстроек и торжественно вручили мне задачу по переносу функционала (я и есть тот самый главный компьютерщик). Есть пара проблем - во-первых, я админ, а не программист, а во-вторых я не работаю с CAD и не знаю их функционала. Придется идти на ощупь. Прошу дать направление, чтобы с минимальным погружением в тему добиться нужного функционала. Глубоко погружаться нет времени и ресурсов - у меня еще два десятка серверов и 5 сотен пользователей. Инфу почитал, даже скопипастил vbs скрипт для вставки блока, но до просветления слишком далеко. Заранее спасибо!
×
×
  • Create New...