Как убрать наложенный текст?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как убрать наложенный текст?

Как убрать наложенный текст?

Ответ
Поиск в этой теме
Непрочитано 20.12.2022, 11:07 #1
Как убрать наложенный текст?
lidalynch
 
Регистрация: 20.12.2022
Сообщений: 3

Добрый день!

В чертеже есть подписи, образованные в блок (синее выделение). Необходимо буквенный текст отделить от значений (красные рамки как произошло, зеленая рамка как надо сделать). В ручную конечно можно просто сдвигать текст, но когда в чертеже таких моментов более 100, еще и чертеж не один, весьма затруднительно. Возможно есть какая то команда "исключить наложение текста" (?)

Буду признательна, если подскажете.

Фото прилагаю

Просмотров: 1088
 
Непрочитано 20.12.2022, 11:56
#2
Dinoxromniy


 
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 395


Цитата:
Сообщение от lidalynch Посмотреть сообщение
Фото прилагаю
Не приложили, да в общем-то и не надо - лучше приложите чертеж в dwg, или кусок чертежа в dwg, если данные секретные.
Dinoxromniy вне форума  
 
Автор темы   Непрочитано 20.12.2022, 12:03
#3
lidalynch


 
Регистрация: 20.12.2022
Сообщений: 3


Цитата:
Сообщение от Dinoxromniy Посмотреть сообщение
Не приложили, да в общем-то и не надо - лучше приложите чертеж в dwg, или кусок чертежа в dwg, если данные секретные.
Ссылка удалилась...

Прикрепляю файл и фото на всякий случай
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_1.png
Просмотров: 87
Размер:	210.9 Кб
ID:	252136  
Вложения
Тип файла: dwg
DWG 2018
Чертеж1.dwg (226.2 Кб, 9 просмотров)
lidalynch вне форума  
 
Непрочитано 20.12.2022, 12:25
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Это не просто тексты, а атрибуты блоков. Плюс отсутствующие шрифты.
Так что а) затребовать нужные шрифты; б) при необходимости - зайти в редактор блоков и растащить атрибуты; в) выполнить _.attsync
Хотя думаю, что просто наличие шрифтов уже спасет ситуацию.
Offtop: К вопросу о том, как отдавать чертежи.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 20.12.2022, 12:43
#5
lidalynch


 
Регистрация: 20.12.2022
Сообщений: 3


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Хотя думаю, что просто наличие шрифтов уже спасет ситуацию.
Можно ли как то из чертежа узнать, какие шрифты отсутствуют и самостоятельно подгрузить их из интернета ?
lidalynch вне форума  
 
Непрочитано 20.12.2022, 12:50
#6
Dinoxromniy


 
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 395


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
при необходимости - зайти в редактор блоков и растащить атрибуты;
Дык каждый блок насколько я вижу - уникален, это только если программно эти блоки раздвигать, не будешь же все 100 экземпляров вручную менять...
Dinoxromniy вне форума  
 
Непрочитано 20.12.2022, 13:40
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


Цитата:
Сообщение от lidalynch Посмотреть сообщение
Можно ли как то из чертежа узнать, какие шрифты отсутствуют и самостоятельно подгрузить их из интернета ?
Можно. В окне текстовых стилей показывается, для каких стилей нет шрифтов. И вообще, по ссылке я рассказывал, что и как надо запаковывать, чтоб подобных проблем потом ни у кого не было.

----- добавлено через ~8 мин. -----
Цитата:
Сообщение от Dinoxromniy Посмотреть сообщение
Дык каждый блок насколько я вижу - уникален, это только если программно эти блоки раздвигать, не будешь же все 100 экземпляров вручную менять...
Ну да, описаний блоков (я имею в виду уникальных) больше 300 штук. Так что я бы запрашивал шрифты
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.12.2022, 14:57
#8
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Большинство блоков - по одной вставке, атрибуты однострочные.
Так что шрифты и синхронизация сильно не помогут.
Назначил всем стилям Arial, высоту уменьшил до двух и сжатие - 0.6.
И всё равно надо растаскивать из-за наложения атрибутов (похоже, файл получен экспортом из какой-то спец. проги).

----- добавлено через ~5 мин. -----
Если допустимы сокращения, то разве что это может помочь.
Например, Проектная производительность на Проект. произв. и тому подобное.
Вложения
Тип файла: dwg
DWG 2013
Чертеж1 (1).dwg (213.6 Кб, 4 просмотров)

Последний раз редактировалось Oleg T, 20.12.2022 в 16:01.
Oleg T вне форума  
 
Непрочитано 20.12.2022, 18:38
#9
Dinoxromniy


 
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 395


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

Код:
[Выделить все]
Sub att_ch()
    Const k = 3
    Dim i As Integer, mySset As AcadSelectionSet, j As Integer
    Dim FilterType(0) As Integer
    Dim FilterData(0) As Variant
    
    For i = ThisDrawing.SelectionSets.Count - 1 To 0 Step -1
        If ThisDrawing.SelectionSets.Item(i).Name = "q1" Then ThisDrawing.SelectionSets.Item(i).Delete
    Next i

    ThisDrawing.SelectionSets.Add ("q1")
    Set mySset = ThisDrawing.SelectionSets.Item("q1")
    FilterType(0) = 0
    FilterData(0) = "INSERT"
    mySset.SelectOnScreen FilterType, FilterData

     Dim varAtrObj As Variant, varAttr As Variant, objblockRef As Variant, vrtAtrObj(0 To k) As Variant, strTxt(0 To k) As String, dblPnt(0 To k) As Variant, dblPnt2 As Variant, dblPnt3 As Variant
    
     For Each objblockRef In mySset
        i = 0
            varAttr = objblockRef.GetAttributes
            For Each varAtrObj In varAttr
                If LCase(varAtrObj.TagString) Like "exp_*" Then
                    strTxt(i) = varAtrObj.textString & " "
                    dblPnt(i) = varAtrObj.insertionPoint
                    Set vrtAtrObj(i) = varAtrObj
                    i = i + 1
                End If
            Next varAtrObj
            For j = 0 To i - 1
            dblPnt3 = dblPnt(j)
                For Each varAtrObj In varAttr
                    dblPnt2 = varAtrObj.insertionPoint
                    
                    If LCase(varAtrObj.TagString) Like "*[[]*[]]*" And Abs(dblPnt2(1) - dblPnt3(1)) < 1.8 Then
                        strTxt(j) = strTxt(j) & varAtrObj.textString & " "
                        strbuf = varAtrObj.TagString
                        varAtrObj.textString = " "
                        
                    End If
                Next varAtrObj
                
                
                For Each varAtrObj In varAttr
                    dblPnt2 = varAtrObj.insertionPoint
                    If (LCase(varAtrObj.TagString) Like "unit_*" Or strbuf Like "*[[]" & varAtrObj.TagString & "[]]") And Abs(dblPnt2(1) - dblPnt3(1)) < 1.8 Then
                        strTxt(j) = strTxt(j) & varAtrObj.textString & " "
                        varAtrObj.textString = " "
                       
                    End If
                Next varAtrObj
            Next j
            If i > 0 Then
            For j = i - 1 To 0 Step -1
            vrtAtrObj(j).textString = strTxt(j)
            
            Next j
            End If
            strbuf = ""
Next objblockRef



End Sub
Dinoxromniy вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как убрать наложенный текст?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как просуммировать текст с видового экрана в пространстве листа при помощи лиспа megabeton LISP 2 31.01.2017 11:43
Дробный текст в многострочном атрибуте Сет LISP 2 08.04.2016 11:00
Как в "Компасе" вставлять текст без форматирования HYPERBALLOiD Компас 4 31.03.2016 12:28
Убрать жирность всего текста Route AutoCAD 5 18.10.2010 14:29