|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Нужен лисп (масив с разным шагом)
проектировшик
СССР
Регистрация: 01.01.2007
Сообщений: 5,149
|
||
Просмотров: 6684
|
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Fatty
посмотри лисп делает отступ непонятный из чертежа видно нельзя ли подправить чобы с указанной точки хомуты рисовались [ATTACH]1180289119.JPG[/ATTACH]
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Лучше приложи заархивированный чертеж
с точными размерами, а то мне не совсем ясно где какие отступы для первых арматурин по краям а то мне самому тут влом еще конструкции рисовать Тогда и разберемся ~'J'~ |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Fatty
Смотри этот файл, я его немного усовершенствовал выделять нужно дистанцию точками на одной прямой для того чтобы можно было потом выставлять наклонный массив, т.е. под любым углом еще более универсальная опция смотри этот архив [ATTACH]1180334099.rar[/ATTACH]
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Посмотри может такой алгоритм будет легче,
Принцип действия: Выбираем двумя точками в пространстве область, т.е. если их соеденить получается отрезок, длина которого является областью распределения (1/4 отрезка 100мм, 2/4 отрезка 200мм и 1/4 отрекзка 100мм), а распределяется по отрезку выбранный выделенный элемент. Т.е. обычный автокадовский массив распределяет только по оси X, Y и только с равным шагом, то у нас получается распределяется по любому направлению с заданным шагом, в определнном расстоянии [ATTACH]1180353170.JPG[/ATTACH]
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер-теплотехник Регистрация: 17.08.2006
Смоленск
Сообщений: 308
|
Цитата:
Введите количество участков - Задайте шаг на первом участке - ... Задайте шаг на n-ном участке - В принципе реально, но может оказаться, что использовать обычный массив для каждого участка будет проще и быстрее. А еще может измениться длина участка. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Сейчас в результате выяснится, что надо писать аналог Project Studio
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Кулик Алексей aka kpblc
Sleekka Посмотрите в прикрепленном файле ДВЖ полноценный алгоритм черчения по пунктам расписан сложности абсолютно никаких
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Файл я скачал, хотя надобности в нем почти никакой. Алгоритм черчения расписан для конкретной ситуации, тебе же хочется "универсальности". Лично я вижу приличное количество сложностей, связанных именно с аналитикой введенных данных. Для примеру: 5 участков, общая армируемая длина - 6325 мм, длина первого и третьего участков составляет 1912 мм, второго и пятого - 768 мм, и четвертый участок - 965 мм. Шаг армирования на первом участке 100 мм, на втором - 112 мм, на третьем - 125 мм, на четвертом - 90 мм, на пятом - 95 мм. Максимальное расстояние между хомутами 1 и 2 участков - 110 мм, между 2 и 3 - 120 мм, между 3 и 4 - 85 мм, между 4 и 5 - 90 мм. Я сознательно закошмариваю ситуацию, но: попробуй написать такой анализатор! Я - пас.
Если, как ты говоришь, "сложности абсолютно никаких", то, прошу - напиши, и код покажи. Именно для подобных вариантов, как я рассказал. То есть универсальный.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Здесь только первый вариант
Естественно, остальными я заниматься не смогу поскольку тут не один день сидеть Возьми за основу и попробуй для разных вариантов Где указывать точки смотри в коде Ход точек - по часовой стрелке Успехов ~'J'~ [ATTACH]1180531465.rar[/ATTACH] |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
Начальная точка: Конечная точка: Введите шаг: 100 Select objects: 1 found Select objects: _.ucs Current ucs name: *TOP* Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis] <World>: _z Specify rotation angle about Z axis <90>: 0.000000000000000 Command: _.-array Select objects: _P 1 found Select objects: Enter the type of array [Rectangular/Polar] <R>: П Invalid option keyword. ; error: Function cancelled Enter the type of array [Rectangular/Polar] <R>: к Invalid option keyword. Enter the type of array [Rectangular/Polar] <R>: r Enter the number of rows (---) <1>: Enter the number of columns (|||) <1> 100 Specify the distance between columns (|||): 100 это ты называешь быстрым :twisted: :twisted: :twisted:
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
1. Выбрать объект 2. Выбрать направление 2мя точками 3. Ввести шаг 4. Обрадоваться увиденному Я придумал способ более приметивный но все смеятся будут если скажу
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>dextron3 У меня вот что получилось
Код:
Долевой индекс: Число больше 0 и меньше 1. Задает часть пролета для данного шага Например для 1/4 пролета - 0.25 Шаговый индекс - собстенно сам шаг (число>0) Раскладка хомутов затается шаблоном типа Долевой_индекс1*Шаговый_ишдекс1 Долевой_индекс2*Шаговый_ишдекс3 и т.д., разделенных пробелом Например задание: 1/4 пролета с шагом 100 2/4 пролета с шагом 250 1/4 пролета в шагом 150 запишется ввиде 0.25*100_0.5*250_0.25*150 (вместо _ -> пробел) Сумма Долевых индексов должна равняться 1 |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
Цитата:
Но у меня он работает по приведенному тобой алгоритму. И запросы делает именно в том порядке, который ты перечислил. Я тестировал только на своих машинах, и стоит у меня руссифицированный автокад. Так что уж извольте, сами подправьте код, если такой умный. :cry:
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA
посмотри что я делаю не правильно Command: HOMUT Структура Долевой_индекс * Шаговый_индекс. Пример 0.25*100 Описание раскладки через пробел (пример 0.25*100 0.5*200 0.25*100):0.25*100 0.5*200 0.25*100 no function definition: MIP-CONV-TO-STR; error: An error has occurred inside the *error* functionAutoCAD variable setting rejected: "CLAYER" nil
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Цитата:
настраиваешь под свою балку выосту сварных засечек (т.е. равняться длине хамута) и шаг для твоего масштаба чтобы равен был ну допустим 100мм и все чертишь сварной шов, взрываешь и убираешь среднюю линию элементарно :!:
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA
Вот это другое дело! Все нормально работает! Спасибо Только два небольших минуса: 1. Нельзя ли это (0.25*100 0.5*200 0.25*100) вшить в программу чтобы не вводить, это ведь константа 2. Почему выделять можно только 1 объект для копирования, бывает ситуация что 2 хомута нужно копировать ну и совсем незначительный минус 3. При переходе шага хомуты налагаются друг на друга если нетрудно подправить возможна?
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Код:
Долевой индекс: Число больше 0 и меньше 1. Задает часть пролета для данного шага Например для 1/4 пролета - 0.25 Шаговый индекс - собстенно сам шаг (число>0) Раскладка хомутов затается шаблоном типа Долевой_индекс1*Шаговый_индекс1 Долевой_индекс2*Шаговый_индекс2 и т.д., разделенных пробелом или ПОДЧЕРКИВАНИЕМ (_) Например задание: 1/4 пролета с шагом 100 2/4 пролета с шагом 250 1/4 пролета в шагом 150 запишется ввиде 0.25*100_0.5*250_0.25*150 Сумма Долевых индексов должна равняться 1 Теперь по пунктам 1. Для разделения друг от друга Долевой_индексN*Шаговый_индексN добавлен символ подчеркивание (_) специально для использования в меню или tool-palette. "Вшить" свою раскладку можешь в меню или палитру инструментов кнопочкой вида: Код:
Подробнее о загрузке : http://dwg.ru/art/8 3. Вроде исправил 2. У выделенного объекта берется слой отрисовки и его длина. Хомуты рисуются отрезками указанной длины перпендикулярно линии, указанной точками, причем она проходит посередине отрезков. Если копировать объекты, то неясно 2.1 что брать в качестве базовой точки выбранных объектов 2.2 Как согласовывать углы поворота. |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA
Вот это другое дело! 1. Все проблема с наложением решена 2. Кнопка автоматизации полностью работоспособна Нашел неисправность При отрисовки хомутов, на первый который является аналогом, накладка происходит уже при отрисовке можно откорректировать лисп чтобы первый хомут не рисовался так как в замен первому должен служить хомут аналог см. чертеж :roll: :roll: :roll: [ATTACH]1180974683.JPG[/ATTACH]
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Вариант для твоего случая Код:
Код:
|
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
Тут два варианта постоянно приходится использовать, первым при нарисованном аналоге а второй при уже использованном первом
Спасибо!!!
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |