Перейти к публикации

Рекомендованные сообщения

всем приветы.

вопрос: как с помощью SolidWorks API сжать/растянуть текст заметки на чертеже??? :confused_1:

в русской версии солида это делает кнопка с названием "Уместить текст", в английской версии кнопка называется "Fit Text".

добрые программеры подскажите please.

Ссылка на сообщение
Поделиться на других сайтах


fox1001

Посмотри в сторону <noindex>ITextFormat</noindex> , т.е. получи заметку, приведи к заметке))) а из неё уже этот текстформат. Насколько я понял, искомое - это WidthFactor.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Всем приветы.

Вопрос такой: имею деталь (модель детали), в этой детали есть несколько размеров. зная имя размера (например имя размера "D1@Бобышка-Вытянуть1") как его найти средствами SolidWorks API ???

приветствуется любая помощь. если у кого-то и код для такого поиска имеется - поделитесь пжлста.

SolidWorks 2012 SP4, win 7 x64.

Ссылка на сообщение
Поделиться на других сайтах

Всем приветы.

Вопрос такой: имею деталь (модель детали), в этой детали есть несколько размеров. зная имя размера (например имя размера "D1@Бобышка-Вытянуть1") как его найти средствами SolidWorks API ???

приветствуется любая помощь. если у кого-то и код для такого поиска имеется - поделитесь пжлста.

SolidWorks 2012 SP4, win 7 x64.

IDimension swDimension = swModel.Parameter(nameDimension); // получаем объект Dimension по имени

int ires = swDimension.SetValue3(valueDim, (int)swSetValueInConfiguration_e.swSetValue_InAllConfigurations, null); // присваиваем новое значение размера, учитывая конфигурации
Ссылка на сообщение
Поделиться на других сайтах

Вопрос такой: имею деталь (модель детали), в этой детали есть несколько размеров. зная имя размера (например имя размера "D1@Бобышка-Вытянуть1") как его найти средствами SolidWorks API ???

Вероятно, ModelExtension.SelectByID, а потом выделенное можно приближать/удалять/менять: <noindex>http://help.solidworks.com/2010/english/ap...electByID2.html</noindex>
Ссылка на сообщение
Поделиться на других сайтах

Вероятно, ModelExtension.SelectByID: <noindex>http://help.solidworks.com/2010/english/ap...electByID2.html</noindex>

Это если его надо выделить. Если производить какие то действия над объектом Dimension без выделения в графическом окне, то мой пост выше...

fox1001 не уточнил конкретную задачу.

Ссылка на сообщение
Поделиться на других сайтах

fox1001

траверсить)))

"найти" ?

в прямом смысле, всё вроде понятно.

private void button1_Click(object sender, EventArgs e)

		{

			Feature swFeature;

			DisplayDimension swDispDim;

			Dimension swDim;

			string DimName;

			int TypeTol;

			Feature swNextFeature;

			swModel.AddConfiguration3(textBox1.Text, "", "", 0); //Если для всех конфиг, то их нужно перебирать

			swFeature = (Feature)swModel.FirstFeature();

			while ((swFeature != null))

			{

				swDispDim = (DisplayDimension)swFeature.GetFirstDisplayDimension();

				while ((swDispDim != null))

				{

					swDim = swDispDim.GetDimension2(0);

					DimName = swDim.FullName.ToString();

					TypeTol = swDim.GetToleranceType();



										//Тут делаешь всё что хочешь с размером



					swDispDim = (DisplayDimension)swFeature.GetNextDisplayDimension(swDispDim);

				}

				swNextFeature = (Feature)swFeature.GetNextFeature();

				swFeature = null;

				swFeature = swNextFeature;

				swNextFeature = null;

			}

			swModel.ForceRebuild3(true);

		}
Ссылка на сообщение
Поделиться на других сайтах

fox1001

траверсить)))

в прямом смысле, всё вроде понятно.

Скрытый текст: Код
private void button1_Click(object sender, EventArgs e)

{

Feature swFeature;

DisplayDimension swDispDim;

Dimension swDim;

string DimName;

int TypeTol;

Feature swNextFeature;

swModel.AddConfiguration3(textBox1.Text, "", "", 0); //Если для всех конфиг, то их нужно перебирать

swFeature = (Feature)swModel.FirstFeature();

while ((swFeature != null))

{

swDispDim = (DisplayDimension)swFeature.GetFirstDisplayDimension();

while ((swDispDim != null))

{

swDim = swDispDim.GetDimension2(0);

DimName = swDim.FullName.ToString();

TypeTol = swDim.GetToleranceType();

//Тут делаешь всё что хочешь с размером

swDispDim = (DisplayDimension)swFeature.GetNextDisplayDimension(swDispDim);

}

swNextFeature = (Feature)swFeature.GetNextFeature();

swFeature = null;

swFeature = swNextFeature;

swNextFeature = null;

}

swModel.ForceRebuild3(true);

}

Зачем загонять в цикл, если известно имя размера?
Ссылка на сообщение
Поделиться на других сайтах

Shvg

а если известно имя только D1?

Вопрос такой: имею деталь (модель детали), в этой детали есть несколько размеров. зная имя размера (например имя размера "D1@Бобышка-Вытянуть1") как его найти средствами SolidWorks API ???

Ссылка на сообщение
Поделиться на других сайтах

If swDimension Is Nothing Then

MsgBox("Размера с именем " + TextBox1.Text + " в этой детали нет")

Else

Label2.Text = ""

Label2.Text = Format$(swDimension.GetSystemValue2("") * 1000, "#.00")

End If

End Sub

End Class _linenums:0'>Imports SolidWorks.Interop.sldworksPublic Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click swApp = Runtime.InteropServices.Marshal.GetActiveObject("SldWorks.Application") swModel = swApp.ActiveDoc Dim swDimension As IDimension = swModel.Parameter(TextBox1.Text) ' получаем объект Dimension по имени If swDimension Is Nothing Then MsgBox("Размера с именем " + TextBox1.Text + " в этой детали нет") Else Label2.Text = "" Label2.Text = Format$(swDimension.GetSystemValue2("") * 1000, "#.00") End If End SubEnd Class

если размер существует:

Изображение

ну и если такового нету:

Изображение

Ссылка на сообщение
Поделиться на других сайтах

Прошу помощи гуру)))

Чем конкретно отличается Transform.ArrayData от Orientation3.ArrayData?

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

На Форуме SolidWorks 18 октября в Москве впервые будет проведена отдельная секция по API. Всем интересующимся - добро пожаловать.

Ссылка на сообщение
Поделиться на других сайтах

На Форуме SolidWorks 18 октября в Москве впервые будет проведена отдельная секция по API. Всем интересующимся - добро пожаловать.

Выпустили бы книжечку на русском по API SolidWorks.

А какие там ещё секции будут? По пресс-формам будет? MoldWorks2012 покажут? Хотя он ещё не вышел :smile: . Почему то никогда не презентуют Imold for Solidworks.

Ссылка на сообщение
Поделиться на других сайтах

Выпустили бы книжечку на русском по API SolidWorks.

книжечка - эт малова-то будет. БИБЛИЯ - не меньше.
Ссылка на сообщение
Поделиться на других сайтах

Выпустили бы книжечку на русском по API SolidWorks.

А какие там ещё секции будут? По пресс-формам будет? MoldWorks2012 покажут? Хотя он ещё не вышел :smile: . Почему то никогда не презентуют Imold for Solidworks.

Учебник только на английском, но появились курсы по API на русском)). Из секций: PDM, ТПП с акцентом на механообоработку и техпроцессы, Проектирование РЭА, Расчеты...

MoldWorks идет на русском, включая учебник. Функционал весьма достойный. Особого смысла разбирать альтернативы, по видимому, нет.

Ссылка на сообщение
Поделиться на других сайтах

но появились курсы по API на русском))

Курсы по программированию? так это можно и без привязки к Solidworks изучать.

Ведь на курсах весь API не охватишь, только может какие-то хитрости рассказать, но эти хитрости от версии к версии меняются и отражены в справке. Да и API постоянно в движении, рассказ о какой-нибудь функции сегодня, завтра уже разговор ни о чём, т.к. функция или процедура уже ликвидирована из интерфейса или появляются более совершенные функции/процедуры/хитрости...

В чём суть этого курса? Какие цели этого курса? Чему на них учат?

Ссылка на сообщение
Поделиться на других сайтах

Выпустили бы книжечку на русском по API SolidWorks.

Зачем за это ещё и платить? ))) Или тоже сертификат дадут? Мол "Дипломированный макросописатель" :clap_1:

В интернете полно инфы, полно видео, полно кода. Нововведения в их специи - куски леоновского кода, которые он сделал уже давно. (субъективно, сугубо ИМХО)

Ну может если только за EPDM ухватиться, да и то дадут основы а остальное к техподдержке (а как известно, там нужна подписка).

Итого получаем: основы макросов + доступ к некоторым возможностям, которые есть на офф форуме в разделе Documents + книжечка с картинками + подписка = 30 000 р. + free + 5000 р. + 1500$

Что имеем: форум, набитый под завязку всем, чем только можно + дофига примеров + справка солида + русскоязычный раздел на сапр2000 по API + интернеты со всякими видеопримерами + пару книг обучалок (от Люка, на торрентах) = free for all.

Может чего недоглядел. И реально потраченные тысячи РЕАЛЬНО научат кодить...ага :laugh: :laugh:

Это напоминает обучение секретарш созданию техпроцессов.

Ссылка на сообщение
Поделиться на других сайтах

Курсы по программированию? так это можно и без привязки к Solidworks изучать.

Ведь на курсах весь API не охватишь, только может какие-то хитрости рассказать, но эти хитрости от версии к версии меняются и отражены в справке. Да и API постоянно в движении, рассказ о какой-нибудь функции сегодня, завтра уже разговор ни о чём, т.к. функция или процедура уже ликвидирована из интерфейса или появляются более совершенные функции/процедуры/хитрости...

В чём суть этого курса? Какие цели этого курса? Чему на них учат?

Все абсолютно верно подмечено, мне ценность курса видится в последующей персональной поддержке в течение 3 месяцев. Будет ли это востребовано - покажет время

....Нововведения в их специи - куски леоновского кода....

Это что за детский сад? :))) Кто то на хвост наступил, что так желчи много накопилось?
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • ALEX 141
      Прямо для всех 0i-TF и 0i-TD с такой же РГ и таким же сервоусилителем.   Чёт вы цитату не оттуда выдернули.
    • vad0000
      - Раньше было. Насос включается и выключается этой кнопкой - Сейчас. После подачи питания, насос сразу включается. Отключается также этой кнопкой.   Все правильно?
    • Ветерок
      Ели Солид не потеряет связи той сборки с исходной многотельной деталью, то все изменения в многотельной детали отразятся в деталях сборки.
    • Andrey_kzn
      Скорее всего TOOLBOX вы не найдёте.  такие вещи покупались под конкретные проекты, а насколько мне известно, не было продано в России ни одного экземпляра Sinumerik ONE не в составе станка. К тому же надо точно знать версию портала, в котором писался проект для станка, чтобы его успешно  выгрузить. (проект) Или же надо иметь исходый проект PLC.  Есть некоторый опыт в отладке проекта для 840DSL в портале 15.1. Там NCU c контроллером 319PN/DP. Если нет исходного проекта, выгрузить его из контроллера не получается. К обращению из программы к входам\выходам.  В программе можно обращаться к дискретным входам\выходам NCK, вида $A_IN[x] и $A_OUT[x] коих имеется 32 входа и 32 выхода. Это всё есть в документации. Но для этого в PLC должно быть что-то типа этого: A I 4.3 =  DB10.DBX[х], A I 4.4 =  DB10.DBX[х] и т.д, для входов, и соответственно A DB10.DBX[х] = Q5.3 для выходов например. Тогда можно будет прописывать условия в вашем цикле, например: IF  $A_IN[x] = 0 GOTO N10 ELSE GOTO N20 ENDIF В вашем случае вам надо настроить задержку выполнения дальнейших действий через G4 Fхх в цикле где у вас выполняется М71. Так будет проще всего. А если хотите  по датчику, то надо редактировать PLC. Просто так туда лезть крайне не рекомендуется
    • Катугин
      Думаю вряд ли вы последовательно делали такое количество тел. Возможно в многотельную деталь добавляете готовые тела, а те в свою очередь также могут быть много тельными. Я к примеру раньше вставляя какой нибудь узел доставшийся от товарищей, получал большой список твердых тел. Стал смотреть там куча шайбочек, винтиков, гаечек и т.д. и т. п.. После чего решил в больших проектах, где не нужно разбивать вставляемый многотел, стараюсь скомбинировать в одно или минимум тел.    Преобразовать это дело в сборку не всегда полезно. В многотеле проще отредактировать сразу несколько тел, уже потом перевести в сборку.
    • maxx2000
      а если отключить итерации?
    • alexashh
      Работаю в разных программах и столкнулся с похожей проблемой - в разном софте вращение и панорамирование завязаны на разные сочетания и при одновременной работе невероятно путаешься. Решил проблему покупкой мыши с двумя боковыми кнопками(Xiaomi Mi Dual Mode Silent, если кому-то интересно. Мышь хорошая, но мелковата для длительной работы) и программой X-Mouse Button Control. Там назначил профили для каждого приложения так чтобы панорамирование было на боковую кнопку. Мне очень удобно, а программа занимает 4 Мб оперативной памяти (интересно сколько занимает софт от мышек logi)
    • SecretOON
      Нет насос включается и отключается кнопкой,как на фото выше(раньше этой кнопкой можно сразу два дела делать-вкл и отк насос и мотор, одновременно естественно),аварийной отключают сам мотор. В понедельник выйду на работу,предоставлю фото 8 страницы.
    • lem_on
      Либо оригинальный оператор подвинул датчик. 
    • boomeeeer
      В таком случае придётся лезть в логику и прописывать правильно логику, чтобы было ожидание по датчику зажима
×
×
  • Создать...