Обращение к текущему объекту

Автор Тема: Обращение к текущему объекту  (Прочитано 25992 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #30 : 04-12-2019, 12:56:57 »
Теперь текст вообще удаляется после обработки, когда я там подредактировал некоторые опечатки. Вот строка :
\pxl2,t10;{\Feskd_u|c204;\W0.85;\C256;Примечания\W1;:\P\pi-1,tz;1\W0.85;Перечень изделий и материалов дан для одной позиции прибора.\P2 Перечень учесть: вариант 1 - 2 раза.\P3 Для изоляции с электрообогревом применить холстопрошивное полотно и лист аллюминиевый (заказано в СО2/2400-R-NG-676-IN-MTO-0002-00).}
Это не абракадабра. Это текст с кодами форматирования. Выше я давал ссылку на документ, описывающий эти коды.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #31 : 04-12-2019, 13:01:56 »
Теперь текст вообще удаляется после обработки, когда я там подредактировал некоторые опечатки. Вот строка :
\pxl2,t10;{\Feskd_u|c204;\W0.85;\C256;Примечания\W1;:\P\pi-1,tz;1\W0.85;Перечень изделий и материалов дан для одной позиции прибора.\P2 Перечень учесть: вариант 1 - 2 раза.\P3 Для изоляции с электрообогревом применить холстопрошивное полотно и лист аллюминиевый (заказано в СО2/2400-R-NG-676-IN-MTO-0002-00).}
Это не абракадабра. Это текст с кодами форматирования. Выше я давал ссылку на документ, описывающий эти коды.
Та нет. Это не то, что я называл абракадброй. У меня уже абракадабра не выводится, теперь текст вообще удаляется. Это я Вам исходный текст скинул

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #32 : 04-12-2019, 13:02:48 »
Вообще логика построения обработки верна ?

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #33 : 04-12-2019, 13:37:45 »
А вот и абракадабра :
Приме\O\OOтопрошивное полотно и ли\\OOшиив\\\OO\OOт\OO\Ooи ли\Oст\\OO\O\\O\Oй (\OOзаказаноака\\\\\O\O\O\\OO\\OO\\OOT\OO\O\OO-\\O
Только вместо "\" знак ">= " выводится в AutoCAD

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #34 : 04-12-2019, 13:47:43 »
sangvinik128,
Логика работы правильная. А вот с индексами что-то не то. Разбирайся.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #35 : 04-12-2019, 13:51:28 »
sangvinik128,
Логика работы правильная. А вот с индексами что-то не то. Разбирайся.
Хорошо, спасибо.

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #36 : 05-12-2019, 11:37:44 »
Логика работы правильная. А вот с индексами что-то не то. Разбирайся.
Вот не работает хоть убейся, не пойму. Уже трассировку "ручками" раз 10 сделал. Почему-то съедаются буквы некоторые и из-за этого лажа всему приходит.Вот строка :
Исходная строка  = \pxsm0.75;{\flSOCPEUR|b0|i0|c204|p34;\\W0.85; КОВ.Резервуары производственно -\P противопожарного....
Результат 1 итерации в программе :  \pxsm0.75;{\flSOCPEUR|b0|i0|c204|p34;\\W0.85;\OК\oОВ.Резервуары производственно -\P противопожарного....
Результат 2 итерации в программе :  \pxsm0.75;{\flSOCPEUR|b0|i0|c204|p34;\\W0.85;\OК\o\ОВ\oервуары производственно -\P противопожарного....
Результат 3 итерации в программе :  \pxsm0.75;{\flSOCPEUR|b0|i0|c204|p34;\\W0.85;\OК\o\\ОO\oервуары производственно -\P противопожарного....

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #37 : 05-12-2019, 11:44:48 »
Судя по всему ты в левой части строки отбираешь на 1 символ меньше чем надо. Попробуй вместо:
Код - Visual Basic [Выбрать]
  1. Left(objMText.TextString, msInt(i) - 1)
вставить:
Код - Visual Basic [Выбрать]
  1. Left(objMText.TextString, msInt(i))
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #38 : 05-12-2019, 11:52:53 »
Судя по всему ты в левой части строки отбираешь на 1 символ меньше чем надо. Попробуй вместо:
Код - Visual Basic [Выбрать]
  1. Left(objMText.TextString, msInt(i) - 1)
вставить:
Код - Visual Basic [Выбрать]
  1. Left(objMText.TextString, msInt(i))
Нет, я уже пробовал это. Т.е. эта проблема может быть вызвана исключительно ошибкой в индексах ? Нет никаких "автокадовских чуд" , одно из которых могло бы на этой повлиять ?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #39 : 05-12-2019, 11:58:33 »
Т.е. эта проблема может быть вызвана исключительно ошибкой в индексах ? Нет никаких "автокадовских чуд" , одно из которых могло бы на этой повлиять ?
Именно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #40 : 05-12-2019, 13:58:38 »
Т.е. эта проблема может быть вызвана исключительно ошибкой в индексах ? Нет никаких "автокадовских чуд" , одно из которых могло бы на этой повлиять ?
Именно.
Все коды чётко проставились, но надчёркиваний не появилось над надписью в блоке, которую мой код поймал как объект типа MText

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #41 : 05-12-2019, 13:59:53 »
Все коды чётко проставились, но надчёркиваний не появилось над надписью в блоке, которую мой код поймал как объект типа MText
Так блок или MText??? Если это MText в блоке, то нужно регенерировать чертеж.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн sangvinik128Автор темы

  • ADN OPEN
  • **
  • Сообщений: 87
  • Карма: 0
Re: Обращение к текущему объекту
« Ответ #42 : 05-12-2019, 14:02:01 »
Все коды чётко проставились, но надчёркиваний не появилось над надписью в блоке, которую мой код поймал как объект типа MText
Так блок или MText???
Вообще-то блок, вот только мой код строку в блоке поймал как объект типа MText. И тут возникает вопрос, что за дела ? :-[

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #43 : 05-12-2019, 14:04:40 »
Вообще-то блок, вот только мой код строку в блоке поймал как объект типа MText. И тут возникает вопрос, что за дела ?
Внутри блока (AcadBlock) может быть MText. Ты бы код приложил и чертеж, на котором экспериментируешь. А то это гадание на кофейной гуще.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Обращение к текущему объекту
« Ответ #44 : 05-12-2019, 14:06:23 »
Добавь на всякий случай в самый конец программы:
Код - Visual Basic [Выбрать]
  1. ThisDrawing.Regen acAllViewports
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение