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

Вопрос про рулетку...


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

И я, если честно.

Вот, примерно так:

<noindex>http://fsapr2000.ru/index.php?act=Attach&a...st&id=36203</noindex> - 01

<noindex>http://fsapr2000.ru/index.php?act=Attach&a...st&id=36204</noindex> - 02

<noindex>http://fsapr2000.ru/index.php?act=Attach&a...st&id=36205</noindex> - 03

Что с этим можно сделать, уважаемые гуру?

Так вот, т.к. картинки были продублированы выше, продолжу. Т.к. эти значения все равно где-то сохраняются, значит их можно оттуда вытащить, хоть каким-то образом. Будь то ИЗМЕРЕНИЕ или АНАЛИЗ... однако. В предыдущих версиях, да я соглашусь. Эти значения нельзя было никак сохранить, кроме как карандашом на бумагу)) А сейчас? Когда я самый первый раз пробовала снять значение измерения (датчика) в свойство, то у меня в строке возврата появилось значение ссылки, но к сожалению какое-то "корявое".... почему-то. Быть может кто-нибудь знает как это "по уму сделать". Сейчас к сожалению, у меня не получается... сделать это, поэтому скриншот не могу выложить...

Изменено пользователем yuka
Ссылка на сообщение
Поделиться на других сайтах


"Рулетку" нельзя добавить к свойствам файла или к уравнениям - как результат, не посчитать длину сплайна с другими размерами

С датчиками можно только: вносить в таблицу параметров и там их гасить или высвечивать

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

Ну это конечно только мое мнение

Я с ним согласен.

Наверное, мы избалованы возможностями ПроЕ :)

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

Датчик можно только погасить или высветить, работать с его значением не получится (Датчик ИЗМЕРЕНИЯ)

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

Датчик можно только погасить или высветить, работать с его значением не получится (Датчик ИЗМЕРЕНИЯ)

Так-то да... судя по многочисленным экспериментам.

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

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

yuka

Макрос - это выход. В принципе всё просто, хватаем значение из датчика (хоть текст хоть дабл) и пихаем его в свойство - а оттуда хоть в таблицу параметров, хоть в уравнения. Я считал что речь шла о стандартных инструментах.

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

В принципе всё просто, хватаем значение из датчика (хоть текст хоть дабл) и пихаем его в свойство - а оттуда хоть в таблицу параметров, хоть в уравнения.

Было бы не плохо , если бы кто нибудь взялся написать такой макрос. Я бы лично использовал его часто
Ссылка на сообщение
Поделиться на других сайтах

Макрос - это выход. В принципе всё просто, хватаем значение из датчика

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

Никак, вы сообщения читаете?

С датчиками можно только: вносить в таблицу параметров и там их гасить или высвечивать

Датчик можно только погасить или высветить, работать с его значением не получится (Датчик ИЗМЕРЕНИЯ)

Или же вешать ещё кнопку на ребилд - куда будет включено и обновление датчик-свойство

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

Никак, вы сообщения читаете?

Или же вешать ещё кнопку на ребилд - куда будет включено и обновление датчик-свойство

Да, изначально речь шла о стандартных инструментах, но коли стандартом это не предусмотрено, значит придется использовать макрос.

Будет менять значения, если макрос перезапустить, как программный модуль... Или менять автоматически при каждом запуске конкретного файла значение переменной в модуле макроса. Собственно, о чем было сказано выше.

Осталось только сделать макрос!))

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

А как же ассоциативность, обновление при изменении?

Как вариант запускать макрос на постоянный мониторинг действия изменения датчика:

Пример, обработки датчиков через API:

Class module



Option Explicit



 



Public WithEvents swPart As SldWorks.PartDoc



 



Private Function swPart_SensorAlertPreNotify(ByVal SensorIn As Object, ByVal SensorAlertType As Long) As Long



	MsgBox "The value of the sensor deviates from its limits."

'



End Function

Источник: <noindex>http://help.solidworks.com/2010/english/ap..._example_vb.htm</noindex>

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

Как вариант запускать макрос на постоянный мониторинг действия изменения датчика:

Как я не люблю VBA...(( Почему не делать программы на понятном Си или Паскале...?))

А дальше?))) .....

**

Поправлю саму себя... Функция выдает сообщение отклонения от каких-либо значений...

причем тут это, или я опять не понимаю...

Что такое UnitOfMeasure?

post-28182-1304590552_thumb.jpg

Изменено пользователем yuka
Ссылка на сообщение
Поделиться на других сайтах

Что такое UnitOfMeasure?

ЕдиницаИзмерения - В данном списке просто набор слов, можно и свои туда вписать:

C:\ProgramData\SolidWorks\SolidWorks ####\lang\russian\properties.txt

Это названия свойства, которому можно обратится, например, из чертежа для отображения значения в данном свойстве по ссылке вида: $PRPSHEET:"UnitOfMeasure"

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

yuka

да там вроде всё просто

If TypeOf swSensor Is SldWorks.DimensionSensorData Then



		Set swDimSensor = swSensor.GetSensorFeatureData



		



		' Get Measurement (dimension) sensor value



		sensorValue = swDimSensor.sensorValue



		' Convert meters to inches



		Debug.Print "Sensor value: " & (sensorValue * 39.37) & " inches"
Get and Set Sensor Example (VBA) - в хелпе

Что такое UnitOfMeasure?

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

Как я не люблю VBA...(( Почему не делать программы на понятном Си или Паскале...?))

Выбирите пример на другом языке:

Get and Set Sensor Example (VB.NET)

Get and Set Sensor Example (C#)

Get and Set Sensor Example (VBA)

<noindex>http://help.solidworks.com/Search.aspx?que...sh∏=api</noindex>

Что такое UnitOfMeasure?

так мы ж не юнит ищем а value
Вопрос был в комбинации с картинкой и в данном контексте это набор символов и цифр на английском языке или любом другом языке и ни чего более.
Ссылка на сообщение
Поделиться на других сайтах

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

так мы ж не юнит ищем а value

Угу..)))) вот и я уже избороздила весь солид и ищу value...)))
Ссылка на сообщение
Поделиться на других сайтах

Я последние 2 строчки кода не стала писать, я думаю они здесь ни к чему))) Допишу тип переменных..

Dim sensorValue				 As Double

 Dim swSensor					As SldWorks.Sensor

 Dim swDimSensor			   As SldWorks.DimensionSensorData



If TypeOf swSensor Is SldWorks.DimensionSensorData Then

		Set swDimSensor = swSensor.GetSensorFeatureData

		sensorValue = swDimSensor.sensorValue

...

Прошу строку проверки перевести дословно... и по-возможности разъяснить для чего она...

Я так поняла эту строку:

"Если тип переменной swSensor есть SldWorks.DimensionSensorData то"....

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

yuka

да там вроде всё просто

К сожалению не все так просто. yuke надо получить данные из Measure, а у вас Sensor ( датчик) настроен на Dimension.

Из Help API SW2011 для функции GetSensorFeatureData()

Remarks

Currently only Measurement (dimension) sensors are supported.

Отлов сообщения DPartDocEvents_SensorAlertPreNotifyEventHandler при выходе сенсора из заданного диапазона тоже не принесет результата, из за выше сказанного. Датчик Measurement даже не входит в перечисление типов сенсора в API SW.

public int OnSensorAlertPreNotify(object SensorIn, int sensorType)

		{

			try

			{

				ISensor swSensor = (ISensor)SensorIn;

				double val = swSensor.SensorAlertValue1;

				swSensorType_e typeSensor = (swSensorType_e)swSensor.SensorType;

				switch (typeSensor)

				{

					case swSensorType_e.swSensorDimension:

						{

							IDimensionSensorData swDimSensor = (IDimensionSensorData)swSensor.GetSensorFeatureData();

							double dimValue = swDimSensor.SensorValue;							

						}

						break;

					case swSensorType_e.swSensorInterfaceDetection:

						System.Diagnostics.Debug.WriteLine(" Sensor Type: InterfaceDetection");

						break;

					case swSensorType_e.swSensorMassProperty:

						System.Diagnostics.Debug.WriteLine(" Sensor Type: MassProperty");

						break;

					case swSensorType_e.swSensorProximity:

						System.Diagnostics.Debug.WriteLine(" Sensor Type: SensorProximity");

						break;

					case swSensorType_e.swSensorSimulation:

						System.Diagnostics.Debug.WriteLine(" Sensor Type: Simulation");

						break;

				}				

			}

			catch { }

			return 0;

		}

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

К сожалению не все так просто. yuke надо получить данные из Measure, а у вас Sensor ( датчик) настроен на Dimension.

Тогда, вероятно, решать проблему с помощью Measure Selected Entities Example (VBA):

<noindex>http://help.solidworks.com/2010/english/ap..._example_vb.htm</noindex>

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...