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

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

Как экспортировать найденный текст в excel?

Ответ
Поиск в этой теме
Непрочитано 02.11.2024, 08:43 | 1 #1
Как экспортировать найденный текст в excel?
Dmitriy45257054
 
Регистрация: 28.09.2024
Сообщений: 3

Постоянно работаю с однолинейными схемами, нужно считать суммарную длину кабеля определенной марки и определенного сечения для спецификации. Кабели записаны по типу ВВГнг(А)-LS-5х10, 48м. Сейчас делаю следующим образом: Найти -> 5х10-> выдает список кабелей на чертеже>считаю длину вручную на калькуляторе. Хочу экспортировать в эксель, чтобы далее разбить по столбцам и функцией =СУММ() посчитать суммарную длину. Как это можно реализовать?
Просмотров: 735
 
Непрочитано 02.11.2024, 10:09
#2
AMDen

Инженер-проектировщик
 
Регистрация: 07.07.2016
Санкт-Петербург
Сообщений: 759


Извлечение данных...
AMDen вне форума  
 
Непрочитано 02.11.2024, 14:56
#3
Dinoxromniy


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


Ну прямо сразу ._dataextraction не факт что получится, если у вас мтекст с форматированием, то теги форматирования выведутся, их лучше изначально стереть специализированным листом.
Потом через выгрузку получить для всего текста его содержимое, в экселе разделить данные по столбцам по разделителю "запятая", я бы еще пробелы все поиском и заменой исключил , а из столбца с длинами - метры. Потом отсортировать данные, отфильтровать то, что содержит марку кабеля, выделить и вставить сводную таблицу.
Она сама переберет все присутствующие марки кабелей и проссумирует длины.
Только это изначально неправильный подход.
Однолинейки должны строится по расчету в экселе, там длины должны забиваться для расчета падения напряжения и кз, однолинейки это по сути графическая интерпретация расчета. Вот с этим расчетом и надо работать.
Dinoxromniy вне форума  
 
Непрочитано 05.11.2024, 07:00
#4
Автон

СЦБ
 
Регистрация: 09.03.2006
Сообщений: 89


Если под конкретную задачу можно сделать макрос на VBA для Autocad. Минимум проверок
Код:
[Выделить все]
Sub kabsumm()

Dim spec() As String
Dim specsumm() As Integer
ReDim spec(0)
ReDim specsumm(0)
'Выделяем объекты
Set pfss = ThisDrawing.PickfirstSelectionSet
pfss.SelectOnScreen
If pfss.Count = 0 Then
    MsgBox "Необходимо выделить тексты"
    Exit Sub
End If
'Из всех выделенных объектов ищем Текст или МТекст
 For Each Object In pfss
    tip = Object.ObjectName
    If tip = "AcDbText" Or tip = "AcDbMText" Then
        objtext = Object.TextString
        kabel = ""
        kabeldlina = 0
        'Ищем по шаблону
        If objtext Like "*, #м" Then kabel = Left(objtext, InStr(1, objtext, ",") - 1): kabeldlina = Mid(objtext, 2 + InStr(1, objtext, ","), 1)
        If objtext Like "*, ##м" Then kabel = Left(objtext, InStr(1, objtext, ",") - 1): kabeldlina = Mid(objtext, 2 + InStr(1, objtext, ","), 2)
        If objtext Like "*, ###м" Then kabel = Left(objtext, InStr(1, objtext, ",") - 1): kabeldlina = Mid(objtext, 2 + InStr(1, objtext, ","), 3)
        If kabel <> "" And kabeldlina <> 0 Then
        'Если шаблон верный, то сравниваем со списком
            flag = True
            For i = LBound(spec) To UBound(spec)
                If spec(i) = kabel Then specsumm(i) = specsumm(i) + kabeldlina: flag = False
            Next i
            'Если не нашли в списком, добавляем новый кабель
            If flag Then
                spec(UBound(spec)) = kabel
                specsumm(UBound(specsumm)) = kabeldlina
                ReDim Preserve spec(UBound(spec) + 1)
                ReDim Preserve specsumm(UBound(specsumm) + 1)
            End If
        End If
    End If
 Next
 Dim InstPnt As Variant
 InstPnt = ThisDrawing.Utility.GetPoint(, "Укажите точку вставки: ")
 'Выводим результат
 For i = 0 To UBound(spec) - 1
      Text = spec(i) & " = " & specsumm(i) & "м"
      Set TextObj = ThisDrawing.ModelSpace.AddText(Text, InstPnt, 3)
      InstPnt(1) = InstPnt(1) - 5
 Next i

End Sub

Последний раз редактировалось Автон, 05.11.2024 в 08:59.
Автон вне форума  
 
Непрочитано 05.11.2024, 08:51
#5
name02


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


Если нужно делать именно как автор поста писал, то попробуй такой лисп
TXT2EXL.lsp
name02 вне форума  
 
Непрочитано 05.11.2024, 09:53
#6
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


а потом окажется, что
Цитата:
Сообщение от Dmitriy45257054 Посмотреть сообщение
Кабели записаны по типу ВВГнг(А)-LS-5х10, 48м.
имеют разные форматы (потому что скорее всего вручную заполняются без последующей валидации) или еще что-нибудь. ТС настолько заинтересован в решении своего вопроса - что ему лень даже почищенный образец файла выложить.
Сергей812 вне форума  
 
Непрочитано 06.11.2024, 06:46
#7
baksconstructor


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


Каждой линии кабеля в свойствах присваиваем название по типу Марка - "ВВГнг(А)-LS-5х10" и вписываем его длину Колво -"48"
Потом получаем готовую таблицу кабелей и их длин с суммацией. Причем автоматом ещё и ток через формулу.
А потом уже или в автокад или в эксель экспортируем.
baksconstructor вне форума  
 
Непрочитано 06.11.2024, 07:14
#8
name02


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


Цитата:
Сообщение от baksconstructor Посмотреть сообщение
Каждой линии кабеля в свойствах
О каких свойствах идет речь? В голом автокаде у линий нет свойств типа "количество" или "марка"
name02 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как экспортировать найденный текст в excel?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли повернуть размерный текст в Revit 2019? modest-bp Revit 1 21.05.2025 14:49
Как ТЕКСТ перенести из AutoCad в Excel? acad_newbie AutoCAD 19 21.07.2023 21:08
Как отключить автозамену числа на дату в Excel? Art1st Прочее. Программное обеспечение 10 31.07.2015 14:45
Проблема вставки диаграмм в ACAD 2009 из Excel 2007 ST2 AutoCAD 1 26.05.2009 01:30