Create custom word document

I would like to know how I could extract the information from the model as well as the image of the element and send it to word in an organized and personalized way I have no idea how to do it and I have not found any dynamo package that helps me in my goal

Word format (docx and doc) isn’t easy to deal with in Dynamo at the moment. Perhaps there is another route to get what you need.

What is the end goal you are after? Is it for a PDF of cut sheets? Or some other project deliverable?

The objective is to create the descriptive memories of the elements in the project and to be able to have them in editable form as a doc and after that export it in pdf as a deliverable

Hello @ammed.riveros …here is a way to export to word (doc)

I think it would be best to use another format then. HTML, or even Revit would do the trick.

Admitting that the format is not too complex, here is an simple example with Word Interop

import sys
import clr
import System

import Autodesk
from Autodesk.Revit.DB import *

import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument

import System.Drawing
from System.Windows.Forms import Clipboard

import Microsoft.Office.Interop.Word as Word

import System.Runtime.InteropServices

source_filenamePath = IN[0] 

# clear session
word_application = Word.ApplicationClass()
word_application = None
word_application = Word.ApplicationClass()
word_application.visible = True
doc_word = word_application.Documents.Open(source_filenamePath)
fecSymb = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Doors).WhereElementIsElementType().ToElements()
imgSize = System.Drawing.Size( 100, 100 )
for symb in fecSymb:
	# add Image
	bitm = symb.GetPreviewImage(imgSize) 
	doc_end1 = doc_word.Content.End -1
	doc_end2 = doc_word.Content.End
	rng = doc_word.Range(doc_end1, doc_end2)
	# add NAme and Description 
	doc_end1 = doc_word.Content.End -1
	doc_end2 = doc_word.Content.End
	rng = doc_word.Range(doc_end1, doc_end2)
	famName = symb.Family.Name
	symbName = Element.Name.GetValue(symb)
	description = symb.get_Parameter(BuiltInParameter.ALL_MODEL_DESCRIPTION).AsString()
	rng.Text += "Family : {}\nType : {}\nDescription : {}\n".format(famName, symbName, description)
OUT = 0