Цепной размер, с засечками и свойство textPos.

Автор abvgdeyka, 19.11.25, 16:34:37

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

abvgdeyka

Здравствуйте, возник интересный вопрос, каким образом можно двигать положение текста размерной надписи в цепном размере? Сделал скрипт который расставляет размеры между отверстиями, когда они близко друг к другу разрешается делать засечку и полку с размером выводить из этой засечки, все работает, но столкнулся с интересным явлением, полка двигается только по целым координатам, стал разбираться почему. В итоге параметр iDimDrawing.textPos который отвечает за положение текста размерной надписи имеет тип long, а мне нужен float, думал может в api7, поменяли, но нет. Как можно обойти это ограничение?

abvgdeyka

Для понимания. Хочу совместить начало полки с засечкой, но из за округления это невозможно, но руками в компасе двигается как нужно, возможно есть какой то прием?

lavgirb

Цитата: abvgdeyka от 19.11.25, 16:53:58Для понимания. Хочу совместить начало полки с засечкой, но из за округления это невозможно, но руками в компасе двигается как нужно, возможно есть какой то прием?
Может быть из-за этого?
textPos.jpg

abvgdeyka

Цитата: lavgirb от 19.11.25, 17:15:37Может быть из-за этого?
textPos.jpg
Так и есть я писал об этом выше, но что делать если у меня отверстия с координатами 0.5 или 0.3? У TextPos тип данных long если я ему задаю 5.5 то он полку отодвинет на 5 мм, я не понимаю как задавать ему не целые значения?

lavgirb

Цитата: abvgdeyka от 20.11.25, 08:18:40...не понимаю как задавать ему не целые значения?...
Да тут нечего понимать. Либо принимаете как есть, либо не пользуетесь этим свойством.

А конструкторы работают со значениями размеров.
Если видно откуда размер, то, как правило, не важно на каком расстоянии размер проставлен.

Kolos

Просто справку по API нужно почитать, внимательно.
ILineDimension.zip

abvgdeyka

У меня размеры заданы в API5, сделал так
.
.
.
obj = iDocument2D.ksLinDimension(iLDimParam)
ISymbols2DContainer = kompas_api7_module.ISymbols2DContainer(iViews.ActiveView)
ILineDimensions = ISymbols2DContainer.LineDimensions
LineDimension = ILineDimensions.LineDimension(obj)
LineDimension.X3 = 500
LineDimension.Update()

Вроде работает, спасибо.

Kolos

Цитата: abvgdeyka от 01.12.25, 14:14:05У меня размеры заданы в API5, сделал так = ISymbols2DContainer = kompas_api7_module.ISymbols2DContainer(iViews.ActiveView)

Вроде работает, спасибо.
Может симбиоз?

abvgdeyka

Ну да, я задавал размеры через api5 а в нем нет X3, передал ссылку в api7 и в нем задал X3 что бы не переписывать api5 на 7.

Kolos

Цитата: abvgdeyka от 01.12.25, 14:51:37Ну да, я задавал размеры через api5 а в нем нет X3, передал ссылку в api7 и в нем задал X3 что бы не переписывать api5 на 7.
Поверти у ILineDimensions своя жизнь, сделайте всё на API7 и Вы это увидите, результат будет, как на API5, последний штрих - "X3,Y3".

abvgdeyka

Работает — не трогай. Задачи свои выполняет и ладно.

Kolos

Цитата: abvgdeyka от 01.12.25, 15:02:07Работает — не трогай. Задачи свои выполняет и ладно.
Не - хами.
PS. С Вами всё понятно.

abvgdeyka

Цитата: Kolos от 01.12.25, 15:05:17Не - хами.
PS. С Вами всё понятно.

«Работает — не трогай» — это крылатое выражение как бы...

Модератор

Цитата: Kolos от 01.12.25, 15:05:17Не - хами.
PS. С Вами всё понятно.

Уважаемый Kolos, на сколько я вижу Вам никто не хамил. Уважительнее общайтесь! И на ты вроде никто не переходил!

Kolos

#14
Цитата: Модератор от 01.12.25, 16:35:21Уважаемый Kolos, на сколько я вижу Вам никто не хамил. Уважительнее общайтесь! И на ты вроде никто не переходил!
Уважаемая, Ирина Владимировна - мне, хамить, не надо.
Цитата: abvgdeyka от 01.12.25, 15:02:07Работает — не трогай. Задачи свои выполняет и ладно.
PS. Будете в "Черном списке".

Модератор

Цитата: Kolos от 01.12.25, 16:38:28Уважаемая, Ирина Владимировна - мне, хамить, не надо.PS. Будете в "Черном списке".

Уважаемый Kolos. Я не буду с Вами спорить. Вам бан на 3 дня чтобы осмыслить свой стиль написания и не перечить модератору впредь!

СВ

#16
  Ирина Владимировна, прошу выслушать небольшую защитную речь за одного из наших товарищей. Защита не про то, что он хороший-пушистый-и-прочий-белый, а про то, что он , простите, безграмотный.
Как только увидел (сообщение №14) - понял - БЕДА. Будет! Почти такая же, как в известной истории с правильной простановкой запятой
Товарищ безграмотный ВСЕГО ЛИШЬ хотел сказать, что ему кто-то нахамил, и конечно - это не вы. Не умеет он ни запятые ставить, ни вообще по русски грамотно писать ... (А если копнуть: здесь просто обычная разговорная речь, когда часть слов опускается, так сказать.)
А наказание ему пойдёт на пользу, ибо с запятыми у нас ещё пара друзей не дружит, однако никаких претензий к ним нет. А к ... товарищу  - есть, и изрядные.