|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
![]() |
Поиск в этой теме |
![]() |
#1 | |
Вот мучаемся мы тут, десятки плагинов кривых тормозных пишем, а не проще ли в долгосроке с 0 свою среду замутить потихоньку, с экспортом в dwg и dxf?
Регистрация: 28.01.2019
Сообщений: 62
|
||
Просмотров: 24357
|
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
деньги уже можно начать сдавать тут http://forum.dwg.ru/showthread.php?t=106081
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
С учетом
Цитата:
Предлагаю ТС начать с разработки высокоскоростного VBA, чтобы: |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
на разработку простого векторного 2D графредактора у меня ушел 1 год, профессиональные программисты туже задачу решают месяца за 3 не особо напрягаясь.
а за какое время ты ты напишешь с нуля свой я не знаю. :-) ----- добавлено через ~9 мин. ----- не ты первый и не ты последний, кто захотел свой автокад сделать. :-) Последний раз редактировалось CalcProg, 03.02.2019 в 12:33. |
|||
![]() |
|
||||
Регистрация: 21.08.2017
Сообщений: 1,053
|
На самом деле, я когда-то начал писать аналог автокада на Делфи. Это бьло более 10 лет назад.
Мне очень повезло, что на тот момент Делфи имела проблемы при работе с динамической памятью и я столкнулся не неразрешимыми проблемами. Мне также повезло, что я не обладал квалификацией уважаемого zamtmn, чтобы эти проблемы решить. Также знающие люди мне объяснили, что новые компиляторы лучше могут использовать ресурсы процессора, что может давать существенное повышение производительности результирующего когда. Короче говоря, я бросил это дело на решении задачи на реализации возможности отмены изменений в базе объектов. На самом деле, интересных и нерешенных задач очень много, поэтому не всегда нужно повторять уже пройденный путь. Если повторять чей-то путь, то всегда будешь плестись в хвосте. Гораздо проще и дешевле взять графический редактор и на его основе сделать надстройку такую, какую тебе (кому-то) нужно. ----- добавлено через ~39 мин. ----- Тормозную рисовалку сделать не трудно, а вот оптимизированный производительный графический движок с адаптивной деградацией на уровне современных редакторов сделать не так просто. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
|
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
ProjectMaster ну ежли ты и делаешь тормозные рисовалки то это сугубо твои проблемы. А я просто привёл конкретный пример, показывающий сколько потребуется времени новичку сделать простую программу (2 D векторный графический редактор, а не тупую рисовалку) в одиночку. Разработка САПР потребует ещё большего времени, раз в 10 как минимум.
----- добавлено через ~4 мин. ----- ProjectMaster, чем тебе делфи не угодил? Нормальная среда разработки, просто пользоваться нужно уметь. Последний раз редактировалось CalcProg, 03.02.2019 в 15:38. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 21.08.2017
Сообщений: 1,053
|
Цитата:
Попробуйте сделать зум 50 тыс. объектов, включая тексты, в своей программе, а потом в Autocad или аналогах. Между 3 месяцами на создание простенькой программы и полноценного быстрого редактора(движка) - пропасть. |
|||
![]() |
|
||||
ну как бэ.. рисовалок сделано немало...
взлетели от автодеска, аскона и крылышками трепещет нана... потенциал есть, но там эффективные менеджеры за дело взялись)) от одиночек примеры годные к пользованию есть? хотя допускаю, в теории что бродит по форуму неприкаянный ломоносов, готовый написать свой сапр с нуля
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
AutoCAD тоже в одну каску написали... Последний раз редактировалось trir, 03.02.2019 в 20:54. |
|||
![]() |
|
||||
Регистрация: 21.08.2017
Сообщений: 1,053
|
Цитата:
ЗЫ Если сравнивать Нанокад последний в плане производительности по графике с аналогами - многие смогут удивиться. |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
zamtmn, не вижу смысла сравнивать твою САПР и мой векторный графический редактор написанный в основном для учебных целей.
ProjectMaster, одновременное увеличение и уменьшение 50 тысяч графических объектов ни есть хорошо! максимальный размер массива граф объектов в моем векторном редакторе не превышает 1000. массив статический, но 1000 объектами никогда не заполнялся (только при обнулении) на экран выводятся только видимые объекты и только при перерисовке всего экрана(при зумировании и при перерисовке формы). активно использую BitMap: Tbitmap; все массивы стараюсь индексировать, что бы в циклах не шоркать весь массив объектов по многу раз. Последний раз редактировалось CalcProg, 03.02.2019 в 19:43. |
|||
![]() |
|
||||
в том виде в котором он сейчас?
перефразирую, такой как тогда, кому он нужен сейчас? совместно лисп или арх допилить могут единицы спецов, все их тут знают. остальные, максииум прибамбасы к сделанному.. но помечтать потрындеть.. и это кто писюнами мерится.. вы ссылки на свои творения кидайте, дабы лекторат мог оценить всю мощь и красоту решений
__________________
Мастерская СПДС |
||||
![]() |
|
||||
мы один и я не мерюсь, мой ушу код слишком прост для этого ))
----- добавлено через ~3 мин. ----- ну а помочь комраду задать напоавление движения в создании соей личной сапр.. поучавствую, мож время для более стоящих дел ему сбережем
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Цитата:
имха в одного на современном уровне с нуля не поднять... на прикладных задачах и разработке частей сапр, и опыта можно поиметь и пользы принести себе и обчеству...
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 20.04.2011
Сообщений: 495
|
В политехе (ПГС по специализации САПР) делал дипломную работу. Нужно было написать программу а-ля автокад с некоторым расчетным модулем. Ввиду непростой задачи, которая ставилась нам, диплом мы начали писать еще на 4 курсе. Моим главным руководителем был преподаватель по металлическим конструкциям, который отлично знал свой предмет, но нихрена не понимал в программировании. Блиин, было очень сложно. Я натыкался на кучу проблем, неведомых для простого пользователя. Я просыпался в 7, и выключал компьютер в 12 вечера. Отвлекался иногда чтоб покушать. Что-то получалось, что-то с большим трудом. Руководитель мне пытался помочь и говорил: "Ну что ты паришься? Сделай так, как это сделано в автокаде!" ))
Помню, когда начал делать, то за полтора или два месяца сделал редактор, в котором можно было рисовать план. Фишкой был инструмент - стена, который мог пересекаться сам с собой и лишние линии при этом сами пропадали, экономя драгоценное время проектировщика. Руководители были в восторге, поставили 5 (была какая-то преддипломная защита). Но потом, когда я решил сделать отменить/повторить, я понял что иду тупиковым путем. В итоге я начал с нуля, стерев наработки. Месяца за три я сделал инструмент ЛИНИЯ, который обладал всеми автокадовскими фишками. Линию можно было копировать/перемещать/зеркалить и т.п., отлично работал инструмент отменить/повторить. И на очередную преддипломную защиту я с гордостью принес свою ЛИНИЮ. Руководители офигели... "У тебя же был инструмент, для рисования плана!", - говорили они. "Да, был, но он был очень плохим, зато эта линия умеет всё!", - отвечал я. За эти линии я получил 3-ку )). В итоге конечно я защитился на отлично, но времени убил я нереально много. А все из-за того, что они (мои руководители) не умеют ставить задачу. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
AutoCAD несколько раз переписовался с нуля
Цитата:
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Да не нужны мне ваши сложные Автокады и 2Дэ редакторы с нуля, дотаточно простого 2Дэ который отрисовывает только базовые примитивы (точки, линии, полилинии, эллипсы(они же круги), текст, штриховки, всё это с поддержкой цвета, толщин и типов линий) и то без вашего участия. Основная сложность там - это заложенная физическая модель взаимодействия с кучей объектов которые хранятся в обновляемых базах данных. Редактирование исходников только по принципу BIM объектов(труба, колодец, кабель, земля, столб и т.д.) как в Цивиле 3Дэ или Ревите. Нужны приложения в которых на основе всех необходимых исходных данных в генерируется ваще вся документация какого-либо раздела проектирования, например, по разделу НВК:
Исходники переработанные в виде специальных BIM объектов, чтобы программа могла с ними работать: 1.1. Съёмка 1.2. Геология 1.3. Техусловия 1.4. Прокладка трассы трубопровода на готовой съёмке в полуавтоматическом режиме 1.5. Юридическая информация об организации и сотрудниках с подписями и т.д. На основе Исходных данных автоматически моделируется технико-экономически целесообразная модель проектируемого объекта с возможностью наложения и снятия редактируемых условий, а на основе этой модели строится вся конечная документация. Генерируемая проектная документация по актуальным ГОСТам и СП на оформление документации и проектирование систем: 2.1. Обложка и титул 2.2. ПЗ(для ст.П) или ОД(для ст.Р) со всеми необходимыми расчётами и описательной частью 2.3. План(планы) трассы 2.4. Профиля сечений по линиям трассы 2.5. Деталировка трассы 2.6. Спецификация (на основе общих баз данных) 2.7. Ведомость колодцев (на основе общих баз данных) 2.8. Ведомость координат Ну и само собой приложение должно автоматом по специальным шаблонам всю документацию разбить на листы и пронумеровать их. Это должно быть узкоспециализированное оптимизированное приложение под определённые виды проектов, а не под всё подряд как в Цивиле или Ревите, где такой автоматизации нет и в помине. По этой же причине разные версии приложения должны выдавать карту области применения данной программы, чтобы по исходным данным можно было определить, может ли приложение выполнить ваш проект, а если нет то шлет вас делать всё вручную или ждать пока разрабы расширят область применения проги. Короче я лентяй, ничё не хочу делать и вы тоже такие же, поэтому вы здесь ищете как бы что автоматизировать чтобы меньше работать. ----- добавлено через ~5 мин. ----- Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 178
|
Цитата:
Личное мнение: что бы что то написать для автокада стоящее, мне кажется нужно уметь работать с АРХ, без него на скриптах далеко не уедешь (хотя не которые удивляют), мультикад у нанокада упрощает жизнь. Еще проблема это скудное количество информации по языкам и примеров (я говорю про ARX и Multicad, для net автокад очень постарался). То что я пытался делать на нанокаде фрии давалось с трудом, основная причина отсутствие примеров, но все равно мне понравилось, чувствовались возможности. Теперь когда нанокад фрии всего 5 на организацию можно только погрустить. Цитата:
Это не ракету в космос запустить, да это огромные трудности, но сообща они могут решатся. Проблема ZCAD в том что нет рук, а те что есть не всегда имеют время. Отсутствие комьюните, вызывает только грусть, тем более что на форуме есть спецы которые что то уже делали в этом направлении. Я черчу в ZCAD-е, есть проблемы, но с ними можно жить, когда появились горячие клавиши, это даже не описать словами. Ты вешаешь на а - линию, на ы - копировать, ц- переместить и прям как в игру играешь. но все равно инструментарий развивается медленно( Конечно плагинов на форуме много для автокад среды, возможно если бы я сидел на авткаде, я бы тоже был в Вашей стае ![]() ![]() |
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 178
|
Freecad не про это, там твердотельное проектирование, попробуйте во фриикаде нарисовать 100 тыщ линий и по двигайте чертеже. Я пробовал у меня не получилось в нем чертить.
QCAD не пробовал, но если он такой же как Librecad, то у него проблема с отрисовкой, крупные чертежи невозможно двигать на экране. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
Цитата:
Цитата:
|
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
LibreCAD это форк QCAD комюнити едишен, причем форкнули его очень давно, с тех пор QCAD далеко шагнул вперед, а LibreCAD не очень((
На данный момент QCAD хоть както можно работать с большими проектами, в LibreCAD нет. LibreCAD3 - новая версия на новом движке делается очень медленно, силами студентов на GSoC - там должен быть свой новый движек, но на студентах далеко не уедешь. LibreCAD3 находится в стадии технодемки, я его смотрел последний раз полгода назад, потом он перестал у меня собираться, лень разбираться почему Свободные кады пишут програмисты и проектировщики "энтузиасты" - поэтому для профессионального применения они плохо подходят - просто не учитывают типичные задачи проектировщика - ориентируются на простой\понятный код и маленькие любительские проекты. Например в либрекаде до сих пор нет поддержки размерных стилей - считают что всем хватает одного(( |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
3д они только в модели, записанной в массивах для обработки в ОЗУ и в БД, а исходник в виде съемки и геологии в 2Дэ, конечная документация тоже в 2Дэ, так что ненужны сами по себе 3Дэ объекты отрисованные в программе.
----- добавлено через ~5 мин. ----- Ну это уже идеологически близко, но мне это не надо я не ПГСник, однако в прога должна делать вообще всё что декларирует изначально, иначе это сырой продукт. |
|||
![]() |
|
||||
Регистрация: 21.08.2017
Сообщений: 1,053
|
Цитата:
Раньше у них ни фига ничего не работало (более 10 лет назад). Возможно допилили... Если камешек был в мой огород, то это просто была просто дипломная работа. Она вообще ничего не декларирует. Последний раз редактировалось ProjectMaster, 04.02.2019 в 13:12. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
ну и 3d из 2d - автоматом не получишь Последний раз редактировалось trir, 04.02.2019 в 13:22. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 21.08.2017
Сообщений: 1,053
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Например, если надо построить псевдо 3д поверхность съемки земли с указанием разных наружных сетей из объектов расположенных в 1-й плосткости, то: 1. Точки: делаем в слое "Отметки съёмки" в виде динамических блоков с атрибутом, задающим координату Z (при этом достаточно просто менять значение атрибута, а не координату Z точки) - программа считывает значение атрибута. 2. Горизонтали: в слое "Горизонтали съёмки" делаем в виде сплайнов с непечатаемой скрываемой выноской, задающей координату Z - программа считывает значение в выноске, находит точку вставки и через выбор по точке определяет сплайн которому соответствует выноска (звучит дико, но работает, если нет наложений других горизонталей в этой точке, так что соблюдаем правила). 3. Кромки: в слое "Кромки съёмки" можно задать в виде сплайнов и полилиний по принципу пункта 2 с нюансами в виде разных координатах Z в разных точках одной кромки. 4. Отоксы: в слое "Откосы съёмки" делаем штриховку в виде откосов направленных в нужную сторону - программа считывает соприкасающиеся кромки и горизонтали, потом моделирует поверхность образованную между ними. 5. Оси дорог: в слое "Оси дорог съёмки" делаются по принципу кромок. 7. Покрытия (газон, асфальт, щебень, бетон, грунт и т.д.): в слое "Покрытия съёмки" в виде штриховки. 8. Объекты линейные (ограждения, бортовые камни, сети ЭЛ, ВК, ОВ и тд): в разных слоях ""Название линейного объекта" съёмки" делаются по принципу кромок. 9. Объекты площадочные (столбы, колодцы, насаждения, здания, фундаменты, и тд): в слое "Объекты съёмки" делаем в виде динамических блоков с непечатаемым атрибутом координаты Z - программа также считывает атрибут координаты Z (если его нет, то задаёт блоку отметку равную отметке земли), габаритные атрибуты в плане, высоту, при этом все верхние и нижние грани объекта принимаются плоскими. 10. Скважины: в слое "Скважины съёмки" делаются по принципу точек, но с добавлением атрибута названия. 11. Тут ещё можно добавить другие группы объектов по тем же принципам. Звучит абсурдно, но практика показала, что с такой кашей людям работать проще, чем с Цивиль 3д. Вы попробуйте какую-нибудь бабку-проектировщицу 60+лет пересадить на Цивиль, так она лучше уволится или застрелится. Да и к тому же Цивиль абсолютно не интуитивен и требует не хилых знаний его пользования, а когда вы тупо вставляете обычные 2д объекты с текстом прямо на 2д план, то всё всем понятно. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
Цитата:
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
- не все умеют с ними работать особенно в мелких конторах, кароче там бардак с этим, - не у всех есть 3д съёмка (зачастую это старые растровые подложки-съемки), - Civil 3D или CREDO делает поверхность методом триангуляции, откосы не строит, объекты не строит ни линейные никакие, дороги не знает где, поверхности учитывает, геологию не учитывает, короче это тупо 3д поверхность построенная по 3д точкам. ----- добавлено через ~3 мин. ----- Приходится поверхность дополнять горизонталями, т.к. 3д точки не отразят тебе точно поверхность именно ту которую заложили через горизонтали, хотя если горизонталей нет, то можно обойтись и точками. |
|||
![]() |
|
||||
Регистрация: 21.08.2017
Сообщений: 1,053
|
Цитата:
Но желательно с++ изучить, так как тормозить vba будет кошмарно. Последний раз редактировалось ProjectMaster, 04.02.2019 в 17:28. |
|||
![]() |
|
|||||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
Цитата:
Цитата:
Видели как строят горизонтали на бумаге? Сначала рисуют сетку треугольников, по ним рисуют горизонтали, а потом треугольники стирают. Цитата:
Цитата:
цена CREDO вообще копейки, по сравнением с тахом или тарелкой Цитата:
Последний раз редактировалось trir, 05.02.2019 в 05:03. |
||||||
![]() |
|
||||
Цитата:
Растр - это, конечно, самый печальный случай. Тут только вручную "тыкать" каждую точку и задавать отметку. В основном же просто приходится конвертировать данные из DWG файлов - горизонтали, 3D грани, блоки с атрибутами-отметками, просто тексты с отметками и т.п. В этом случае есть возможность упростить работу лиспами или специальными встроенными утилитами. Да в принципе, и в случае с растром - муторно, однообразно, но вряд ли подъём поверхности займёт времени больше, чем несколько часов работы.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Цитата:
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
не надо ничего переводить Цитата:
Последний раз редактировалось trir, 21.02.2019 в 07:52. |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
Цитата:
Цитата:
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 178
|
У нас директор в конторе на полном серьезе говорит, что на кульмане было быстрее, нагляднее и лучше. У них выражение даже такое было:"Чертить на карандаше". А сейчас говорит юлозиете юлозиете своими мышками и проект фиг дождешься.
Говорит, дайте мне кульман и я любого строителя порву ![]() ![]() |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
а вот вполне может быть. У нас последний пользователь кульмана ушел на заслуженный отдых в свои 80 букватьно в позапрошлом году. И что характерно, действительно уделывал по скорости разработки и грамотности решений многих погонщиков мыши от акада. А уж девки в нормоконтроле от его чертежей буквально пищали.
Только вот если раньше проектировщик был обязан уметь грамотно пользоваться инструментами для разработки проектных решений, то сейчас неумение пользоваться акадом, ну или любым сапр, вполне даже простительно.
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
ага, а потом приходит новое задание от смежников и нужно вот тут немного подвинуть, тут перенести и тут слегка поменять... и совокупное время выпуска чертежа и выпуска изменения уже не кажется такой "уделывающей", а если эта итерация повторяется больше одного раза... Джедаи ватмана и карандаша.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
А потом, во время печати контрольного экземпляра, вообще приходит новое тз. Если порядок производства работ нарушать, то тут распределенный искусственный интеллект нужен, чтобы сроки не всрать. Насчет внедрения кульмана обратно - это, конечно, шутки, а если серьезно, замена им компа с акадом у немаленькой части проектировщиков на их сроках выпуска ну никак не отразиться.
именно так, привычка думать - то, чего крайне сейчас не хватает, без нее и получаются помоечные чертежи в акаде, и на полном серьезе высказываются бредовые предложения из серии: Цитата:
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
Offtop: И такое бывает, при этом порядок производства работ не имеет значения. Например, на основе некоторого тестового этапа продаж квартир в проектируемом доме/квартале, заказчик меняет картографированию, для получения большей прибыли и меняет N-ое количество M комнатных квартир на P-ное количество S комнатных. Архитектура поехала, инженирия поехала, конструкции поехали... Всякое бывает, но в каждой шутке... Грустно.
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
У нас все начальники так и говорят, но забывают как переделывали весь чертеж из-за небольших, но фундаментальных правок.
----- добавлено через ~13 мин. ----- Цитата:
1. Создание динамических блоков и написание с костылями кривых мелких плагинов для автоматизации работы в тупой чертилке AutoCAD для нищих лентяев, которые не хотят пересаживаться на Civil3D. 2. Переход на супертормозной избыточный Civil3D, наработку баз данных(например, колодцев, труб и тд) и специфических плагинов для него. 3. Написание на С++ быстрого оптимизированного отдельного узкоспециализированного приложения для автоматизации создания полной проектной документации по конкретным разделам. Пока что я на 1-м этапе, вот его доделаю и пойду в Civil3D. |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
да ладно, не настолько же https://www.ozon.ru/context/detail/i...hoCINEQAvD_BwE
Не могу понять, где вы в земле и сетях наши место динамическим блокам там, где их безболезненно можно заменить статическими. Ну и как бы при планируемом переходе на цивил на втором этапе большинство наработок первого - пустая трата времени.
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Предлагаю ТС не терять время и сразу к 3-му пункту поста №59 перейти: от написания "с костылями кривых мелких плагинов " на VBA к созданию "быстрого оптимизированного приложения" на С++. Зачем тратить время на "супертормозной избыточный Civil3D" - нищие лентяи давно мечтают о бесплатной БКК... |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Откровенно говоря, не всматривался, первая ссылка по запросу "кульман купить". Рейсшина, опять же, в комплекте.
- А вы, что это, ещё и есть за меня будете? - Ага! И по другую сторону БКК будет ИИ, тогда оператором и обезьяну посадить можно будет. За бананы.
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
----- добавлено через ~6 мин. ----- Цитата:
|
|||
![]() |
|
||||
Цитата:
![]() что мешает не делать двойную работу ( тем боле возможности VB мягко говоря сильно ограничены для написания приложения с " нуля"), а сразу делать на с++
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
- на плане сетей НВК: футляры, колодцы и камеры с описанием в виде атрибутов, какие-нибудь иные объекты которые проще растянуть или масштабировать дин блоком, координаты XY; - на профиле НВК: шапка таблицы НВК с отметками, подпрофильная таблица, все виды отметок и заглублений, поперечные сечения пересекаемых сетей разных диаметров, ключевые точки, колодцы, изоляция труб, футляры, лотки; *Благодаря дин блокам я вообще сейчас на профиле ни одной отметки не вычисляю и не вбиваю вручную, т.к. атрибуты в динамических блоках сами это делают за меня, экономя мне уйму времени, уклоны также считаются сами в атрибуте. - на деталировке сетей НВК: ну тут ваще тысячи заготовленных заранее блоков для всех видов нужной мне арматуры всех диаметров и размеров в виде условных обозначений (задвижки, затворы, обратные клапана, тройники, кресты, отводы, заглушки, пожарные вставки, воздухоотводчики, фланцевые адаптеры, демонтажные вставки и тд), динамическими их сделал чтобы они самовыравнивались по линии трубы. *В принципе их то динамическими делать не обязательно, экономия времени только на самовыравнивании. И все эти динамические блоки приправлены ещё и плагинами, которые ещё больше автоматизируют весь процесс, например, теперь я практически не ставлю вручную даже эти самые отметки в виде динамических блоков, их ставит программа, но всё же процентов 5-10 работы приходится делать вручную, т.к написать программу на все случаи нереально сложно. Короче итог таков для построения чистового профиля 1км сетей водопровода в стесненных условиях с кучей пересечек и геологией: - вручную без динамических блоков и плагинов (использовал только повернутые размеры для автоматизации расстановки размеров, а все отметки и уклоны считал вручную) я делал примерно 5 дней, т.к. было очень много расчётов на калькуляторе по каждому числу на профиле; - с динамическими блоками уже справлялся за 2 дня; - с плагинами и динамическими блоками за пол рабочего дня часа 4-5; *И то у меня тут ещё не все автоматизировано - только расстановка отметок и уклонов, которые я мог раньше целый день ставить динамическими блоками, а щас всё ставит программа за 1 минуту. - а если по задумке ещё автоматизирую план, то чистовой профиль будет готов за 10 минут, а черновой за 2-3 минуты. И не надо тут мне писать, что в Цивиль3Д профиль сделается за 10 секунд, а вы не думали, что чтобы сделать 3Д землю со всеми существующими сетями и объектами на 1км сетей я потрачу ту же самую неделю. ----- добавлено через ~4 мин. ----- Да С++ я как то начал изучать, пару примеров сделал - сделал пару приложений на сортировки и простой расчёт, но времени нет копать, мне показалось слишком сложным в изучении на текущий момент, а ВБ гораздо проще + он есть в Автокаде и МСОфисе, а это очень удобно. Последний раз редактировалось Кудахтыч, 26.02.2019 в 17:55. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
А если вместо С++ (если, конечно, не планируете свои примитивы на ObjectARX ваять) возьмете .Net - то приятно удивитесь, сколько фреймворк берет на себя задач из вашего псевдокода)
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
А вообще хотелось бы свалить с Автокада, задолбали его глюки особенно в больших проектах, он очень тормозной и не оптимизированный под железо, те же листы и некоторые объекты, а также 3д оооооооооооочень долго формируются даже на моём топовом игровом ПК 2016-го года (CPU Intel Core i7-6700K 4.0 GHz, ОЗУ DDR4 CORSAIR Vengeance LPX CMK32GX4M2A2666C16 - 2x16Гб, SSD Kingston HyperX 120Gb MLC, R555Mb/W510Mb, видеокарта GIGABYTE GTX 1080 Xtreme Gaming 8G), при том что все чертежи почищены, а растры упрощены командой imagequality (черновое). Оптимизация Автокада это просто какой-то бред на грани маразма, возможно это связано с криворукостью разрабов которые не хотят его оптимизировать нормально под новые железки, а также из-за избыточности данной среды, чтобы угодить всем. Последний раз редактировалось Кудахтыч, 26.02.2019 в 18:45. |
|||
![]() |
|
||||
много дин блоков сильно тормозят .. даже топовый игровой комп 2016 года...
измененные дин блоки ни чем не отличаются от того жэж количества уникальных статических((( собственно поэтому хоть возможность есть, но даже автодеск в своих вертикалках их не пользует, пользует только обычные блоки с атрибутами.. короч тупиковая это ветвь
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Offtop:
Цитата:
Заодно - не делать весь проект в одном файле, изучить вертикалки и т.п. Ну и так, подумать - контора существует больше 35 лет и как-то до сих пор на плаву. И тут приходит самый знающий и говорит, как надо. Ну-ну...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Offtop:
Цитата:
Хочу расстроить, в случае каждого конкретного пользователя это связано с незнанием, неумением и необучаемостью каждого конкретного пользователя.
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
сети Регистрация: 03.11.2008
Московия*
Сообщений: 5,963
|
----- добавлено через 18 сек. -----
Цитата:
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Генерируемые неиспользуемые вхождения я подчищаю я ж писал. Дин блоки не проблема как правило, т.к. их относительно мало по отношению к общему количеству примитивов векторной съемки, чаще всего если генпланисты делают проект ГП в векторном виде, то у них тормозит всё и даже вылетает, там как повезёт. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Это уже глухой оффтоп пошел...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Но не уверен в том что ваш план будет достаточен для того чтобы сделать чистовой профиль, но черновой пожалуйста сделаю даже возможно быстрее, до 4-х часов с начала до конца при условии беспрерывной работы. В черновой профиль будет входить основные информация формирующая профиль (все что непонятно доделывается в чистовом профиле), не должно быть у меня также вопросов по глубине заложения трубы и пересечкам, которые надо обходить (чтобы не было такого, когда каких то отметок нет и сидишь гадаешь, а интерполировать отметку пересечки не от чего): - полностью заполненная шапка и таблица профиля: со всеми отметками (на одном километре сетей это примерно 300 отметок в зависимости от сложности), обозначением трубы, стандартного основания, длина/уклон, расстояние, обозначения ключевых точек; - уровни натурной, проектной земли и лотка или низа трубопровода с учётом диаметра, футляры; - колодцы и камеры, углы поворота без вертикальных подписей; - заглубления; - основные пересечки сетями и их отметки, расстояния от них до трубопровода. Всё остальное (вертикальные подписи, подписи покрытий земли, горизонтальные размеры между вертикалями, подписи футляров и теплоизоляции и ГНБ, теплоизоляция(нужно обоснование теплотехническим расчётом), геологические колонки, внепрофильные таблицы геологические, поперечные разрезы траншей, узлы заделки труб в колодцах и т.д.). Ну и конечно количество ключевых точек по водопроводу и земле должно быть в пределах разумного, миллион точек по земле, сотни колодцев и пересечек, не должно быть на таком участке. При этом надо отметить что в общем то сам профиль делается вручную (уровни земли и трубы, расстановка дин блоков отметок пересечек, колодцы, размеры, заглубления, подписи, в общем вся графическая часть профиля), а автоматизирована только числовая часть (отметки пересечек, отметки таблицы профиля, уклоны, расстояния), а также автоматизирована расстановка дин блоков отметок в таблице профиля по ключевым точкам и расстановка дин блоков длины с уклонами. Короче за чистовой профиль за пол дня я уверен только со своими планами и трассой, которые я сам разрабатывал и уже хорошо знаю после тщательной разработки. Тут же дам пример чернового и чистового профилей. ----- добавлено через ~6 мин. ----- Цитата:
Последний раз редактировалось Кудахтыч, 27.02.2019 в 03:55. |
|||
![]() |
|
||||
т.е. газ тормоз, а ПДД пусть ГАИ учит, логичножэж.
с нетерпением жду посмотреть на некривые реализации плагинов... ну а долгострой в перспективе, этой оффтопной веткой и останется. имха всежэж надо мощно разбираться в сделанном другими, что бы не то что свое с нуля сваять, а хотя бу улучшить готовое
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
----- добавлено через ~11 мин. ----- Что значит нужный участок, мне нужен весь план сразу в реальном времени, все 20км, для оценки общей картины, для быстрой правки и оценки объемов, в ППО для расстановки пикетажа по трассе и координат границ землеоотвода (благо написал плагин, теперь он сам это делает). А если разбить все на 20 летающих файла, то это будет не работа, а пытка бесконечно переключаться по 20-ти файлам ну или участкам. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
через запросы можно получить весь файл на просмотр, а отделньые участки на редактирование - и всё будет летать, при чём так можно редактировать один файл, несколькими людьми
А через FDO и вовсе можно гигабайтами ворочить Цитата:
Цитата:
![]() Последний раз редактировалось trir, 27.02.2019 в 07:19. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Последний раз редактировалось Кудахтыч, 27.02.2019 в 07:32. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Offtop: Т.е. все виноваты, что ситуация именно такая, ага. И в первую очередь разработчик ПО.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Ну конечно разраб виноват, вот если я пишу плагин и он тормозной и глючный, то я осознаю что это я виноват, т.к. ответственен за кажду строчку кода, беру код, ищу ошибки и новые оптимальные решения. С Автокадом же такое ощущение что болт положили разрабы, многие болячки десятилетия не лечатся.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Offtop: М-да, тяжелый случай.
Скажи, а ты пробовал со своими претензиями выйти на разработчиков? Обосновать их, доказать отсутствие альтернатив, предложить решение? Че-т я подозреваю, что ни фига подобного. "Болячки" - это, может, только для тебя "болячки", потому что неправильно инструмент используешь. Или не тот инструмент (намекаю про Civil, про который trir уже говорил). Ну и т.д. Доказывать, что надо сначала поработать, а потом уже претензии высказывать,- это уже не ко мне. Охота - вперед, пиши, разрабатывай, "шоб все летало", кто мешает?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
- для избежания тормозов таблицы нужно постоянно закрывать и открывать файл; - для динамических блоков нужно чистить чертёж командой очистки; - для листов опять нужно всё чистить, хотя мне это не помогло. Эти решения даже не на костылях, они вообще по сути не решены. Тоже самое можно сказать про оптимизацию под многоядерные процы, которые используют все ядра только при регенерации 2D-графики, рендеринга изображений в MentalRay, открытие файла с внешними ссылками (XREF), многопоток более менее поддерживается только в Инверторе. Про использование CUDA ядер видеокарт и быстрой GDDR5 видеопамяти я ваще молчу. Было где-то видео сравнения работы в Автокаде и заточенных под видеокарты специализированных приложений, так Автокад там по производительности как из каменного века вылез. Последний раз редактировалось Кудахтыч, 27.02.2019 в 09:16. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Ну конечно, если так делать и использовать таблицы, как в #77, ничего удивительного. А если туда еще и полей забацать - вообще все печально будет. Остается только повторить вслед:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 05.08.2008
Сообщений: 828
|
слишком много возможностей. как о них узнаешь обо всех. нужно оставить самый работоспособный минимум. тогда все будет летать и каждый пользователь будет идеально знать возможности программы
----- добавлено через ~4 мин. ----- хорошая программа должна быть почти полностью автоматической - взял и начал работать, а не думать как там будет выделяться память, как там классы организованны и т.п. ----- добавлено через ~4 мин. ----- такая среда нужна |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Что акад работает на одном ядре - это тоже говорилось не раз в темах, посвященных выбору компьютера для работы. Но все это не имеет отношения к программированию - любая более-менее сложная программа имеет свои "ахиллесовы" места, идеальные программы только языком на форумах пишутся) |
|||
![]() |
|
||||
Регистрация: 05.08.2008
Сообщений: 828
|
Цитата:
|
|||
![]() |
|
||||
уже пять страниц кода
с блэкджэком и ... ----------------- пока ни строчки, все больше про то, какой АК тормозной ![]()
__________________
Мастерская СПДС |
||||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
Цитата:
Цитата:
Offtop: Не те времена, ага, время пещерной электроники. 21 век на дворе, а наши творцы до сих пор не считают стыдным не знать инструмент самовыражения.
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Вот именно, что предлагает. Предлагают многие - исполнение хромает только. А хороший быстрый движок написать - это не только в программировании разбираться явно не на уровне VBA, но смежные вещи хорошо знать - математику, особенности восприятия изображения человеком и т.п.. Т.е. работа целой команды. Поэтому у нас на форуме вроде только один пишет САПР с нуля на своем движке (уже лет пять) - а большинство узкоспециализированными надстройками к готовым программам занимаются.
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
|
|||
![]() |
|
||||
Регистрация: 05.08.2008
Сообщений: 828
|
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Когда я читал эти перлы:
Цитата:
У него и сайт на "народе" есть Как я создаю Русскую Операционную Систему. Там он в "реальном времени" вел репортажи о создании ОС в стиле: Цитата:
Но можно и в сконцентрированном виде на "лурке" почитать. А чё, и Кудахтыч может "замутить с 0". Бейсик он знает. Да еще и спонсоров, по примеру "Горла" привлечь: Цитата:
|
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
Цитата:
Цитата:
У таких это не проблема, это пть - не мешки ворочать ![]() Чего-то мне кажется, не выйдет достижения, которым стоит гордиться.
__________________
На работе было скучно:shout: Последний раз редактировалось ciril, 27.02.2019 в 14:45. |
|||
![]() |
|
||||
__________________
Мастерская СПДС |
||||
![]() |
|
|||||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
уже
Последний раз редактировалось trir, 27.02.2019 в 15:17. |
||||||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
99% пользователей всех приложений не являются программистами и не обязаны знать про классы, коллекции и прочее. Вот пример у меня пару десятков знакомых проектировщиков и никто из них и близко не знаком с программированием, они все просто хорошие проектировщики, а программировать они не обязаны, писать плагины не умеют, никаких языков программирования и в помине не знают, даже мои небольшие знания в программировании ВБ для них это суперсложно и непонятно. Многие из этих проектировщиков не умеют даже динамические блоки и атрибуты создавать, просто не могут понять их устройство - им слишком сложно. Да и на Цифиль3д тоже никто переходить не хочет из-за сложности понимания БИМ среды, как и что там делать, по большей части из-за того что никто не хочет в Цивиль3д я и сам тоже остаюсь в Автокаде, т.к. просто нет смежников работающих в Цивиле, хотя я как то сдела в Цивиле 1 проект, всё сделал сам, но никто не оценил потуги.
Последний раз редактировалось Кудахтыч, 27.02.2019 в 15:56. |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
![]() Цитата:
![]()
__________________
На работе было скучно:shout: |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
и не нужно - они должны просто уметь пользоваться тем инструментом, который им дали, и в тех объемах - чтобы суметь сделать свою работу. Просто у некоторых здесь все просто и легко. Напоминает, когда на очередном просиживании штанов (аля совещание) менеджмент начинает рассказывать свои фантазии по увеличению выхода финансов - вводная часть и сразу к перспективам после внедрения переходят, минуя сам организационный процесс. Это и вызывает тут смех у тех, кто хоть как то с практической реализацией сталкивался...
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Offtop: ... Теперь самое главное, чтоб в заново разрабатываемом фифильке оно было )))
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
![]() Offtop: Изменил метод сортировки скорость выросла в десятки раз, пишу на вб. Эти две фразы в одном предложении вообще не могут существовать ![]()
__________________
На работе было скучно:shout: Последний раз редактировалось ciril, 27.02.2019 в 23:35. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
----- добавлено через ~35 мин. ----- Цитата:
А сортировка нужна была, например, в плагине, который анализировал план и показывал сумму определённых значений записанных в мультивыносках, группировал их по ключевым фразам и слою, а затем делал сумму внутри каждой группы. В деталировке также был подсчет блоков с использованием суммы по группам слоев и названию блока, знаю есть автоспецификация в Автокаде, но её постоянно надо переобновлять, а добавлять и удалять новые виды элементов неудобно, в плагине всё делается за 1 нажатие кнопки на панели. На ручном профиле тоже сортировка нужна, анализ точек полилиний разных уровней для вычисления и расстановки отметок, уклонов и тд. Чую щас тут про Цивиль опять напишут, что он всё это делает сам без всяких плагинов, вот только вы забываете что написанный собственный плагин даёт практически гораздо больше возможностей получить то что тебе надо, заложить ту логику которая нужна тебе, а цивиль выдает лишь то что заложено программистами + опять таки действий в Цивиле чтобы добиться желаемого вида нужно совершить кучу действий, а у меня всего 1 кнопка. Конешь на Цивиль позже придётся перейти, но его надо будет уже другими плагинами допиливать, чтобы он выдавал то что мне надо. На опыте скажу я вам что зачастую в Цивиле автоматизация того же профиля компенсируется кучей настроек и в итоге ялозаний мышкой столько же как при ручном построении профиля. Последний раз редактировалось Кудахтыч, 28.02.2019 в 01:00. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Цитата:
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Не говоря уже о том, что в отличие от тех же Lisp & VBA, где неизвестно что под "капотом", исходный код фреймворка .Net был открыт несколько лет назад.
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
Цитата:
LINQ - это библиотека расширяющая стандартный синтаксис языка платформы .NET (VB C# C++ ...) , а Sort - один из возможных методов этого языка. И по поводу того, что там можно сделать одной строкой... Например вот одна строка из проекта написанного на C# (для удобства выполнены переносы): Код:
В XML документе, пройтись по всем нодам, включая ВСЕ вложения (не зависимо от уровня вложенности), с именем "Property", и если у ноды есть атрибут "name" и это атрибут реально есть и его значение равно "Creation Time", то посмотреть, есть ли у этой ноды еще и атрибут "category" и если его нет, то взять у ноды ВСЕ атрибуты с именем "value" и вернуть строковое значение первого элемента в полученном списке. При этом, как видно из синтаксиса, вполне себе можно использовать не строгие равенства, фильтровать и сортировать как угодно. Это просто пример. Решение этой же задачи средствами обычного процедурного языка - использование циклов, рекурсий, пересоздания множества объектов и прочие прелести. Резюмируя, к сожалению, Вы не вполне знаете то, о чем пишите. Последний раз редактировалось Boxa, 28.02.2019 в 12:08. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
А если так мило сердцу именно сортировка, то простейший вариант (при оси X по горизонтали слева направо): Цитата:
Код:
Код:
Код:
Код:
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Конечно лучше использовать готовое решение, тем более если оно работает быстрее, чтобы велосипеды не изобретать, но своё зачастую просто понятней и пока разберешься в существующих решениях иногда быстрее самому написать. Последний раз редактировалось Кудахтыч, 28.02.2019 в 12:32. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Код:
Последний раз редактировалось Кудахтыч, 28.02.2019 в 12:46. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
А функция
Еще сколько занимает?) А учитывая, что скорость написания кода даже в бесплатных студия раза в 2..3 раза быстрее, чем в VBA, и многое есть в готовом виде во фреймворке (если читать справку, конечно, а не "трудолюбиво" самим половину функций писать)... ----- добавлено через ~2 мин. ----- Мой пример будет работать быстрее, потому что это .Net. На VBA скорость работы кода зависит даже от длины названий переменных и функций в коде, как как интерпретатор) |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
Сергей812, При всем моем уважении, но всю портянку кода можно было заменить на одну строчку...
Код:
Кудахтыч, я ВАС услышал. "Я знаю как работать с лопатой, поэтому лопата - лучший инструмент. Все можно сделать лопатой, не надо нам трактора, он ломается, лопата - надежность и гибкость." Больше пояснений не требуется. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Код:
SortMetodSliyan - соответственно функция самой быстрой сортировки методом слияния. Вообще сортировки после перехода на метод слияния во время исполнения моих плагинов сейчас занимают не так много процессорного времени(может всего несколько процентов) по сравнению с получением данных из существующих элементов чертежа, изменение свойств существующих и отрисовка новых элементов на чертеже. ----- добавлено через ~5 мин. ----- Цитата:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Ну если выкинуть комментарии из моего примера, то там будет меньше 30 строк) А если на LINQ, как показал выше Boxa - VBA грустно смотрит со стороны. Ну это лирика.
А теперь перейдем к более прозаическим вещам с точки зрения быстродействия и затрат. В вашей универсальной функции: Передается аргумент типа variant. А это дополнительные затраты ресурсов при хранении и обработке каждого значения из массива (приведение типа, распаковка, упаковка). Что за несколько десятков лет в VBA не смогли сделать обобщенные типы T, как в .Net - печально и предсказуемо. Развитие языка давно остановилось. И пытаться писать на нем универсальные методы - можно, конечно, но смешно при этом говорить о быстродействии. |
|||
![]() |
|
||||
Регистрация: 28.01.2019
Сообщений: 62
|
Цитата:
Да я знаю что variant самый затратный (Объём выделяемой памяти: 16 байт + 1 байт на каждый символ), но в рамках моих даже самых крупных задач это ничтожные потери Даже если элементов массива variant будет 10 000 000 штук - чего у меня не было никогда в самых крупных объектах, максимум пару десятков тысяч, не скупимся и возьмем к примеру 128 байт на элемент, итого 10000000*128/2^30 = 1,19ГБ ОЗУ - что не так уж много по сегодняшним меркам, мы ведь не живём в те времена (90-е) когда Билл Гейтс предрекал что 640 килобайт ОЗУ всегда будет достаточно для домашнего компьютера. Сейчас у меня в компе 32Гб ОЗУ, до этого было 64Гб купленные в 2016-м году, когда цены на ОЗУ выросли в 2 раза в 2018-м я просто продал лишние 32Гб из-за ненадобности в 1,5раза дороже чем купил. Ну вот я хочу поржать немного, доделать начатое, потом на С++, кстати через несколько лет вроде как Автодеск откажется от VBA и заменит его на VB.Net. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Offtop: Цитата:
----- добавлено через ~7 мин. ----- а еще внутри функции выделяете память под три массива типа variant той же размерности, что и входной. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
Цитата:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |