| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > ПО от CSoft > Параметрические объекты СПДС для армирования ЖБК

Параметрические объекты СПДС для армирования ЖБК

Ответ
Поиск в этой теме
Непрочитано 05.02.2013, 13:26 3 |
Параметрические объекты СПДС для армирования ЖБК
swell{d}
 
гадание на конечно-элементной гуще
 
Düsseldorf
Регистрация: 31.05.2006
Сообщений: 7,619

В nanoCAD СПДС пользователь может создавать собственные параметрические объекты.
Использование пользовательских параметрических объектов может компенсировать отсутствующие на данный момент динамические блоки.

Ниже представлено видео Михаила Гладких (mihanick) про создание параметрических объектов на примере элемента обрамления проёмов:
http://youtu.be/EZwO6EIrrKQ

В этой теме буду выкладывать свои наработки. На данный момент есть:
- Фоновое армирование плит
- Обрамление проёмов
- Доп. армирование - зоны распределения
- Сопутствующие таблицы
- Маркеры для обрамлений и зон распределения
- Сваи

Предложения-пожелания приветствуются

Статьи на wiki:
- Основная статья

Видео с примером использования

П.С. Для установки вызвать Базу элементов (из панели инструментов или командой spbrowser). В Базе элементов выбрать любую папку, щёлкнуть по ней правой кнопкой мыши, выбрать импорт из файла и загрузить все файлы с расширением .mcd из распакованного архива

Последняя сборка в сообщении #38 или на вики
__________________
.: WikiЖБК + YouTube :.

Последний раз редактировалось swell{d}, 12.08.2013 в 23:43.
Просмотров: 153004
 
Непрочитано 28.01.2015, 10:06
#341
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,516
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Konstruktiv54 Посмотреть сообщение
Подскажите, действительно объекты СПДСа научились текст зеркалить? или я что-то не так понял. И где подробно об этом почитать можно...
тут об этом не сказано ни слова.
Думаю вряд ли появится зеркаллирование текста в дин. объектах, возможность в них вставки текста, это так сказать "побочный эффект". Похоже доводить до ума пока не собираются ((((
маркеры и шаблоны из выносок зеркаллируют текст без проблем, но у тебя свой путь )))
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 28.01.2015, 11:08
#342
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 995
<phrase 1=


Вроде как на форуме нанокада, господин Волков сказал что они что-то придумали по этому поводу. Я вопрос этот и там поднял, но решил здесь продублировать потому что там не ответил ни кто...
В каких то объектах я уже перешел на маркеры, но это не везде разумно.
Konstruktiv54 вне форума  
 
Непрочитано 28.01.2015, 11:13
#343
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,516
Отправить сообщение для doctorraz с помощью Skype™


нанокад спдс 5.4 (там вроде движок как у СПДС 9) текст у парам объектов работает так же коряво, даже если создать вид сзади
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 28.01.2015, 12:46
#344
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 995
<phrase 1=


а у меня получилось! )) наконец-то! http://youtu.be/TRp7BkzCAu0

п.с.: как же ужасно сделаны 3д плоскости! ну хоть бы на рисунках подписали что есть Front, а что есть VLeft. И почему Vleft это вид с верху )) постоянно такие мучения с этими видами!

Последний раз редактировалось Konstruktiv54, 28.01.2015 в 12:54.
Konstruktiv54 вне форума  
 
Непрочитано 28.01.2015, 13:08
#345
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,516
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Konstruktiv54 Посмотреть сообщение
а у меня получилось! )) наконец-то! http://youtu.be/TRp7BkzCAu0

п.с.: как же ужасно сделаны 3д плоскости! ну хоть бы на рисунках подписали что есть Front, а что есть VLeft. И почему Vleft это вид с верху )) постоянно такие мучения с этими видами!
молодец, но у тебя там похоже сборка из нескольких объектов...
которые ты крутнул относительно родительского
на самом деле ты зеркаллирование текста так и не победил )))
VLeft- похоже опечатка в справке, кочует из версии в версию )))
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 28.01.2015, 13:27
#346
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 995
<phrase 1=


победил победил )) теперь можно группу объектов расставленных на плане, и имеющих текстовую маркировку спокойно зеркалить относительно оси симметрии здания.
Konstruktiv54 вне форума  
 
Непрочитано 28.01.2015, 13:29
#347
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 1,516
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Konstruktiv54 Посмотреть сообщение
победил победил )) теперь можно группу объектов расставленных на плане, и имеющих текстовую маркировку спокойно зеркалить относительно оси симметрии здания.
Offtop: молодец!!!
__________________
Мастерская СПДС

Последний раз редактировалось doctorraz, 28.01.2015 в 13:49.
doctorraz вне форума  
 
Автор темы   Непрочитано 29.01.2015, 09:44
1 | #348
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,619


для АлексВ
я не помню, последняя ли это версия.
Вложения
Тип файла: dwg
DWG 2010
2013-01-10 Доп армирование.dwg (149.2 Кб, 1606 просмотров)
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 29.01.2015, 10:35
#349
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,649


Цитата:
Сообщение от swell{d} Посмотреть сообщение
для АлексВ
я не помню, последняя ли это версия.
Спасибо! Вот интересно.. (Offtop: риторический вопрос) SetGripPoint "расставляет" ручки, OnMoveGripPoint реагирует на их юзеротаскание.. А если на разных видах/исполнениях - должны быть разные ручки, привязанные к разным параметрам? Тогда в обоих этих функциях надо сначала проверять текущий вид/исполнение, а потом для каждого "создавать свою песню"?
И еще .. А возможно ли задавать графику для вида в зависимости от значения параметров объекта? Подозреваю, что распознавая вид, надо задать графику для всех вариантов, и в зависимости от значения параметров отключать видимость ненужных.. Кстати, как задать видимость/невидимость, - чего-то не нахожу в скрипте у swell{d}, как осуществляется отключение контура? Понятно, що заведует этим процессом переменная bKontur, но механизм отключения не понятен..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!

Последний раз редактировалось AlexV, 29.01.2015 в 10:45.
AlexV вне форума  
 
Непрочитано 29.01.2015, 11:54
#350
sp1ash


 
Регистрация: 10.07.2011
Вологда
Сообщений: 214


Добрый день! Подскажите, в чем проблема: при формировании отчета пропускает одну позицию арматуры. Маркер пробовал вставлять новый, копировал существующие, менял номер позиции - результат один, позиции нет в отчете. Ограничено число строк в отчете? Если ставлю стержень как деталь изделия - то в спецификацию изделий он попадает.
sp1ash вне форума  
 
Автор темы   Непрочитано 29.01.2015, 12:36
#351
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,619


AlexV, открой "исполнение1" - "редактировать вид как текст". Там есть такие строки:
Цитата:
Line(node17,node18,5,bKontur);
Line(node18,node19,5,bKontur);
Line(node19,mp,5,bKontur);
Line(mp,node17,5,bKontur);
Последний параметр отвечает за видимость

----- добавлено через ~1 мин. -----
sp1ash, выкладывайте файл
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 29.01.2015, 12:44
#352
sp1ash


 
Регистрация: 10.07.2011
Вологда
Сообщений: 214


Цитата:
Сообщение от swell{d} Посмотреть сообщение
sp1ash, выкладывайте файл
Вот

----- добавлено через ~24 мин. -----
swell{d}, кажется я понял в чем причина. В чистой таблице все строки на месте, видимо шаблон таблицы отчета немного кривой оказался.
Вложения
Тип файла: dwg
DWG 2010
Ригель для dwg.dwg (529.1 Кб, 1522 просмотров)
sp1ash вне форума  
 
Непрочитано 29.01.2015, 13:44
#353
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,649


Цитата:
Сообщение от swell{d} Посмотреть сообщение
AlexV, открой "исполнение1" - "редактировать вид как текст". Там есть такие строки:
Цитата:
Line(node17,node18,5,bKontur);
Line(node18,node19,5,bKontur);
Line(node19,mp,5,bKontur);
Line(mp,node17,5,bKontur);
Последний параметр отвечает за видимость
Понятно.. Блин, когда до хрена в исполнении графических объектов, запаришься вычислять, какая Line от какой node растет.. Мда, чем дальше в лес, тем толще партизаны.. Думал, - и чего мол так относительно мало людей используют возможности СПДС по созданию объектов и т.д... Однако, сие удовольствие не для каждого мозга!
А вот SetGripPoint - задает кол-во и расположение грипсоручек.. При создании новых видов в скрипт автоматом дописывается че то типа "если вид фронтальный, то ручек 2", ну и в OnMoveGripPoint дописывается аналогично. А при смене видов SetGripPoint "перезапускается"? А то сменишь вид на вставленном объекте туда-сюда, и чего-то часть ручек пропадает..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 29.01.2015, 15:01
#354
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,619


Цитата:
Сообщение от AlexV Посмотреть сообщение
Блин, когда до хрена в исполнении графических объектов, запаришься вычислять, какая Line от какой node растет..
Да, это вообще неудобно сделано
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 29.01.2015, 15:12
#355
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,649


Цитата:
Сообщение от swell{d} Посмотреть сообщение
Да, это вообще неудобно сделано
Надо бы при установке параметров геометрии что бы было окошко "Видимость", в которое можно было бы впихнуть имя параметра..
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 34
Размер:	35.9 Кб
ID:	142760  
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 29.01.2015, 16:13
#356
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,619


А чем параметр "отображать" не нравится? =) просто имя переменной тужа пишите и всё
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 29.01.2015, 16:18
#357
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,649


Цитата:
Сообщение от swell{d} Посмотреть сообщение
А чем параметр "отображать" не нравится? =) просто имя переменной тужа пишите и всё
елы палы, все уже придумано до нас!
Блин, при еще бы неплохо в скрипте строки что б нумеровались... А то пишет при анализе "ошибко в 295 строке", - попробуй ее найди, болезную!
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 29.01.2015, 16:19
#358
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,619


копипаст в notepad++ и работаем с подсветкой синтаксиса
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 29.01.2015, 17:59
1 | #359
Konstruktiv54


 
Регистрация: 31.01.2007
Новосибирск
Сообщений: 995
<phrase 1=


Цитата:
Понятно.. Блин, когда до хрена в исполнении графических объектов...ла ла ла
если очень сильно надо корректировать исполнение ручками я использую
UText(node1, -Ug/57.30, 1, 0, 0, "1", [1,1]);
UText(node2, -Ug/57.30, 1, 0, 0, "2", [1,1]);
UText(node3, -Ug/57.30, 1, 0, 0, "3", [1,1]);
UText(node4, -Ug/57.30, 1, 0, 0, "4", [1,1]);
вот такой приём...помогает разобраться где какие узлы. не очень удобно, но ничего невозможного.
Цитата:
Блин, при еще бы неплохо в скрипте строки что б нумеровались...
Ctrl+G

Последний раз редактировалось Konstruktiv54, 29.01.2015 в 18:05.
Konstruktiv54 вне форума  
 
Непрочитано 29.01.2015, 18:07
#360
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,649


Цитата:
Сообщение от doctorraz Посмотреть сообщение
конечно можно:
Задаем четыре ручки по углам детали

Код:
[Выделить все]
function SetGripPoint {
	if (lViewType == VFRONT) {
		NGrip = 4;
		pntGrip0 = pntOrigin; //левый нижний
		pntGrip1 = pntOrigin + vecDirection*(L) + vecPlane*(H); //правый верхний
		pntGrip2 = pntOrigin + vecPlane*(H);// левый верхний 
		pntGrip3 = pntOrigin + vecDirection*(L) ; //правый нижний

	}
}
Потом обрабатываем изменение ручек

Код:
[Выделить все]
function OnMoveGripPoint {
	
	OXPlane = Plane(pntOrigin,vecDirection);
	OYPlane = Plane(pntOrigin,vecPlane);
	vecNormal = getLocalNormal(vecDirection,vecPlane);
	OZPlane = Plane(pntOrigin,vecNormal);
	if (lViewType == VFRONT) {
		if (NMovingGrip == 0) {
			L = L-(OXPlane - pntGrip0);
			H = H-(OYPlane - pntGrip0);
// этот блок служит для невозможности перемещения объекта за pntGrip0 если достигнуты крайние значения параметров.			
			if (H<=10 && L<=20) {
				pntOrigin =pntGrip1 -vecDirection*(20) - vecPlane*(10);
			} else	if (H<=10) {
				pntOrigin = pntGrip1 -vecDirection*(L) - vecPlane*(10);
			} else	if (L<=20){
				pntOrigin = pntGrip1 -vecDirection*(20) - vecPlane*(H);
			} else if (H>=1000 && L>=2000) {
				pntOrigin =pntGrip1 -vecDirection*(2000) - vecPlane*(1000);
			} else if (H>=1000) {
				pntOrigin = pntGrip1 -vecDirection*(L) - vecPlane*(1000);
			} else	if (L>=2000){
				pntOrigin = pntGrip1 -vecDirection*(2000) - vecPlane*(H);
			} else	{
				pntOrigin = pntGrip0 ;
			}
// конец
		} else	if (NMovingGrip == 1) {
			L = OXPlane - pntGrip1;
			H = OYPlane - pntGrip1;
		} else	if (NMovingGrip == 2) {
			L = L-(OXPlane - pntGrip2);
			H = (OYPlane - pntGrip2);
			if (L<=20) { // чтобы весь объект не сдвигался по Х при крайних значениях
				pntOrigin = pntGrip3 -vecDirection*(20);
			}; else if (L>=2000) {
				pntOrigin = pntGrip3 -vecDirection*(2000);
			}; else {
				pntOrigin = pntGrip3 -vecDirection*(L);
			};
		} else	if (NMovingGrip == 3) {
			L = (OXPlane - pntGrip3);
			H = H-(OYPlane - pntGrip3);
			if (H<=10) { // чтобы весь объект не сдвигался по Y при крайних значениях
				pntOrigin = pntGrip2 - vecPlane*(10);
			} else if (H>=1000) {
				pntOrigin = pntGrip2 - vecPlane*(1000);
			} else {
				pntOrigin = pntGrip2 - vecPlane*(H);
			}
		}
	}
}
Надеюсь, сделать промежуточные ручки теперь не составит труда ))
Я правильно догадываюсь, что если (lViewType не будет == VFRONT), то код движения ручками надо адаптировать под конкретный вид? Чего-то никак мой объект не желает себя вести предсказуемо.. Блин, обезьяна может "Войну и Мир" написать методом случайного тыка, а тут несколько строчек кода не получаютси..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > ПО от CSoft > Параметрические объекты СПДС для армирования ЖБК

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СПДС Graphics. Интеграция с AutoCAD. Нет панелек СПДС Sn4ke ПО от CSoft 37 08.11.2018 00:08
Не редактируются объекты СПДС 4атланин ПО от CSoft 86 11.12.2017 16:03
Изменения системы СПДС. ГОСТ 21.101-97 и не только! Red_line Архитектура 19 05.08.2010 18:01
Копирование данных для спецификаций из выносок СПДС в таблицу из мтекстов Red Nova Программирование 177 08.12.2008 11:35
СПДС, Автоматическая загрузка при открытии файла Vildar Прочее. Программное обеспечение 11 05.09.2008 16:58