Перейти к содержанию

MCAD

Дилеры
  • Публикаций

    1 626
  • Зарегистрирован

  • Посещение

  • Победитель дней

    160

Сообщения, опубликованные MCAD

  1. 15 часов назад, mixxail-k@yandex.ru сказал:

    или это очередной баг? 

    Нет, это не баг, выноска привязывается к примитивам и, кроме своего положения относительно точки вставки и положения примитива, может брать свойства самого объекта. В том числе свойства можно применить в "формуле"   

    • Like 1
  2. 3 часа назад, mixxail-k@yandex.ru сказал:

    А можно что-то подобное сделать с теми выносками которые уже есть на чертеже?

    Не знаю.

     

    3 часа назад, mixxail-k@yandex.ru сказал:

    почему новые выноски цепляются, а созданные копированием нет?

    потому что так задумано для всех выносок.

  3. Это что-то уж очень наворочено.

    Нужно же, я так понял, для упрощения. Как ты так давал определение "автоматизации"???  :-) 

    PS: В файле есть таблица, которая принудительно "обнуляет"  атрибуты, которые не должны попадать в выноску

    • Haha 1
  4. 15 часов назад, doctorraz сказал:

    Там строк можно много

    Не вникал :-( 

    С маркером можно, но если там одинаковый набор "зависимых" атрибутов.

    Мало информации от @gizmo_zx

    Разные блоки, разные исполнения, какой набор атрибутов? 

    Тем  более, что нужно в платформе. Значит придётся возится с палитрой инструментов

    Набросал маленький тест с маркером. Документ под роликом на YouTube

     

    • Like 3
  5. 2 часа назад, gizmo_zx сказал:

    т.е. если блок "имя1" то сделать выноску три строки (артрибут1 , 2 и3, если "имя2" две строки (артрибут1 , 2) 

    Кстати, я как-то  про это не подумал. Две строки и одна, сработают на выноске с авто обновлением. А больше - пока не вижу решения, кроме как маркер с разными исполнениями.

    • Like 1
  6. 2 часа назад, gizmo_zx сказал:

    При изменении атрибута блока, текст выноски меняется

     

    2 часа назад, gizmo_zx сказал:

    Руками делаю так, создать мультивыноску, щелкнуть по строчке взять с чертежа, указываю блок, выбираю что взять из свойств блока

     @Ivanco, Я может что-то  упустил, но на mLeader,  не помню такой возможности

    • Like 1
  7. 10 минут назад, gizmo_zx сказал:

    указываю блок, выбираю что взять из свойств блока.

    Сохраните (например в СПДС ) как шаблон

     

    и вставляйте из базы с панели инструментов, подключившись  к общей базе:

     

     

     

    • Like 2
  8. В 09.06.2021 в 08:40, Volk1205 сказал:

    Есть блок с атрибутами. Вставлен 500раз на чертеже. 

    Это надо каждый раз таблицу заполнять и писать функции в таблице ручками?

    Если  нужно просто собрать атрибуты, то ничего писать не надо

    Просто выбираете из списка или ищите в построителе выражений

    500 Block for Volk1205.dwg

    Title block VK.mcd

    • Like 2
  9. 21 минуту назад, cad@maxsoft.ru сказал:

    А возможностей при этом больше

    @Volk1205 цитата верная абсолютно

    С "Простейшими" возможностями можно ознакомиться тут.

    • Like 2
  10. 4 минуты назад, Volk1205 сказал:

    Какое-то очень сложное извлечение

    @cad@maxsoft.ru дал ссылку на отличный пример выше.

    Вот очень простой пример.

    Атрибут, это такое же свойство, как слой из этого примера

     

    Лучше выложить файл с примером и xls, который нужно получить в итоге

    • Like 1
  11. 12 часов назад, Volk1205 сказал:

    процесс извлечения данных атрибутов

    Можно не только извлекать, но и возвращать атрибуты. Можно управлять, например исполнениями, по вычисленным условиям.

    Легенда, в первом комментарии, под роликом.

    • Like 2
  12. В 01.09.2020 в 11:13, A.Kudrjashov сказал:

    Запускаем процедуру импорта и отмечаем необходимые позиции.

    Вспомнил, где я видел решение подобной задачи силой мысли @doctorraz.

    Автозаполнялка часть 2 - Более общее решение. Тут просто демонстрация возможностей

    • Like 3
  13. В 15.05.2021 в 19:42, MD27 сказал:

    в скрипте не присваивает кол-во и движение ручек.

    Не нашли удачного решения для создания Grip's   в "Мастере объектов". 

    Уж очень много на них завязано.

    Посмотрите ролик, возможно станет более понятно. Пример я приложил. 

     

    Кроме того, все объекты БД могут быть описаны в трёх координатах. 

    Если  посмотреть на них в изометрии (при выделенных объектах) ну будет более понятно

    image.thumb.png.b9248a36f8abef2e5f69e45cea7ed6f0.png

    function SetGripPoint {
    	NGrip = 4;
    	pntGrip0 = pntOrigin;
    	//ручка длины
    	pntGrip1 = pntOrigin+L*vecDirection;
    	//Ручка высоты двутавра	
    	pntGrip2 = pntOrigin+h*vecPlane;
    	//Ручка ширины полки двутавра
    	vecNormal=getLocalNormal(vecDirection,vecPlane);
    	pntGrip3 = pntOrigin+vecNormal*b/2;
    };
    
    function OnMoveGripPoint{
    	if (NMovingGrip == 0) {
    		pntOrigin = pntGrip0;
    	};
    	//ручка длины
    	if(NMovingGrip == 1){
    		L = max(vecLen(pntGrip0 - pntGrip1)/rScl,1);
    		vecDirection = pntGrip1 - pntGrip0;
    };
    	//Ручка высоты двутавра		
    	if(NMovingGrip == 2){
    //Так как, в данном конкретном случае параметры b и h являются табличными 
    //(ограничены СТО АСЧМ 20-93),создаём временную переменную rNew_h.
    //Значение будет определяться как размер между точками pntGrip0 - pntGrip2
    		rNew_h = vecLen(pntGrip0 - pntGrip2)/rScl;
    		LoadInCache( seria,  h, b  );
    // подбираем ближайшие значения. При этом, табличное значение "h" будет сравниваться 
    //с ближайшим к rNew_h 
    		SelectInCache( "kFirst", "seria", "~", seria, "h", "~", rNew_h, "b", "~", b);
    	};		
    	//Ручка ширины полки двутавра. Действиия аналогично с движдением NMovingGrip == 2
    	if(NMovingGrip == 3){
    		rNew_b = 2*vecLen(pntGrip0 - pntGrip3)/rScl;
    		LoadInCache( seria, b,h  );
    		SelectInCache( "kFirst", "seria","~",seria, "b", "~", rNew_b,  "h", "~", h);
    	};		
    };
    Спойлер

    image.png.a1016d09365d432b9b8a50a6396c74cd.png

     

     

     

     

    Grips Крест.mcd

    • Like 2
    • Thanks 1
×
×
  • Создать...