Introduction to the AutoCAD MEP .NET API 
Martin Schmid, P.E. – Autodesk

ME104-2L This lab will provide some practical examples of using the AutoCAD MEP .NET API to configure drawing and environment settings, as well as accessing element data for design analysis.

About the Speaker:
Before accepting the role of Project Consultant at Autodesk, Martin worked as a mechanical and electrical systems designer and, most recently, as an engineering coordinator. Martin has been using AutoCAD since Release 10, and is fluent in the customization of Autodesk products, including AutoCAD Architecture, AutoCAD MEP .NET, and Revit MEP using .NET. Martin has worked closely with both the AutoCAD MEP and the Revit MEP development team to share insights gained while consulting with customers, and has developed custom solutions for customers built on AutoCAD Revit MEP Suite to streamline documentation and analysis workflows.

martin.schmid@autodesk.com

      Autodesk, Inc. |  1     

 

      Introduction to the AutoCAD MEP .NET API 

Table of Contents  
Introduction .............................................................................................................................................. 3  The Hello Project ....................................................................................................................................... 3  Creating a New Project in Visual Studio 2005 ...................................................................................... 3  Creating a New Project in Visual C# 2005 Express Edition ................................................................... 4  Defining References for a Project ......................................................................................................... 4  Configure Debugging in Visual Studio 2005 .......................................................................................... 5  Configure Debugging in Visual C# 2005 Express Edition ...................................................................... 5  Sample Script File .................................................................................................................................. 6  Create and Test a .NET Command ........................................................................................................ 6  Modifying Drawing Settings ...................................................................................................................... 7  Calculating Pipe System Volume ............................................................................................................... 9  Classes ................................................................................................................................................... 9  Add the Command Method .................................................................................................................. 9  Test and Debug ................................................................................................................................... 10  Summary ............................................................................................................................................. 10  Checking Electrical Connections ............................................................................................................. 10  Add Constants ..................................................................................................................................... 11  Add the Command Method ................................................................................................................ 11  Test the Electrical Connection Checker .............................................................................................. 11  On Your Own ....................................................................................................................................... 12  References .............................................................................................................................................. 12  Questions / Notes ................................................................................................................................... 13  Sample Code ........................................................................................................................................... 14   

Autodesk, Inc. |  2   

 extensive knowledge of AutoCAD MEP is assumed. conduit. From the File menu.  The samples in this class will utilize C#.  Autodesk. by using the provided sample code and the instructions  contained herein.  This is NOT an intro to  .NET  C:\Program Files\AutoCAD MEP 2008\Sample\VB. the provided sample code omits error checking for the sake of brevity.   These steps will demonstrate how to setup an AutoCAD MEP C#. and learn more about the AutoCAD MEP  . instead of having to create  the drawing each time.  The Hello Project  To get a quick intro to setting up a project.NET Framework 2. you will create a sample project in the following sections.dll file for us.NET  In many cases.  Further. one focusing on  piping components. In the Project types list. select New > Project. as well as cable tray.NET API  This is a ‘Power User’ class.  Additionally.0  AutoCAD .  Introduction  In this lab. Visual C# may show up under Other Languages. or load it manually. you should be able to successfully run those samples.  The purpose of this class is to provide the knowledge to be able to successfully build an  AutoCAD MEP .  2. select Visual C# > Windows   Depending on your Visual Studio configuration.NET API application for AutoCAD  MEP.  The concepts in the electrical example are applicable  to MvParts.  Armed with the information in  this class. Visual Studio.  Three separate applications will be developed.NET project against.  C:\Program Files\AutoCAD MEP 2008\Sample\CS.NET API… each of those topics could easily be a class (or course)  themselves.NET application from scratch.NET assembly  .  This script will load our .NET Project. |  3    . we will look at what it takes to quickly get started to build a . one focusing on drawing settings.dwg file for us… because it is very handy to have a  drawing that already has information in it to test our . there are C#<‐>VB translators available on the web  if you prefer VB.  Note that there are additional samples that come with AutoCAD MEP. Inc.  This class assumes some familiarity with:  • • • Visual Studio 2005 or Visual Studio Express  Microsoft .NET API using your language of choice. the script will open a .  Creating a New Project in Visual Studio 2005  1. one focusing on electrical components.  The concepts from the piping sample are  applicable to duct. we will create an  AutoCAD script file that will run every time we start debugging. or the AutoCAD .NET.

dll through AecStructureMgd. Project Name: Project  b.  Autodesk. but by selecting them all.  Specify the name ME104‐2L. enter:  *mgd*dll  5.  In the New Project.  1. |  4    . 2. In the Solution Explorer. Project Name: Project  b.  3.  3. Browse to the AutoCAD MEP installation folder. Specify  a. set Copy Local to False.  1. select New Project.dll files in the list using Shift+Click:  acdbmgd.   Defining References for a Project  When developing within the . In the Visual Studio Solution Explorer.  Creating a New Project in Visual C# 2005 Express Edition  From the File menu.NET framework. Solution Name: Solution  5. Solution Name: Solution  6. 5. Click OK. select Save All  Specify  a.  7.  From the File menu. AutoCAD Architecture. select acdbmgd through AecStructureMgd. Select all the . Location: C:\ME104‐2L  c. Select the Browse tab.  4. references are utilized to access classes within assemblies. Inc. right click on the project name. Location: C:\ME104‐2L  c. 3. Click OK. 4. and AutoCAD MEP functionality.   To work with AutoCAD. and select Add  Reference…  2. select Class Library. Click Save.  6. the default is:  C:\Program Files\AutoCAD MEP 2008  4. In the File Name box. then click OK. it is necessary to  reference the managed assemblies from the AutoCAD MEP installation. you can  ensure that all class assemblies are available. and in  the Properties section.dll   You may not need all the assemblies for a particular project. In the Templates list. under References. select Class Library.

  1.user  3. and set the program to:  C:\Program Files\AutoCAD MEP 2008\acad. right click on the project name. specify the name ME104_2L. your work may be built into a series of Solutions that each  contains multiple Projects. |  5    .  Configure Debugging in Visual Studio 2005  Visual Studio can launch AutoCAD MEP for interactive debugging.  For this class. and automatically open test . Under Start Options.dbx" /b "C:\ME104_2L\ME104_2L\ME104_2L\Test. right click on the project name ME104_2L.microsoft. making changes as necessary for your path and project info (note:  some lines wrap.scr"  5.dwg files if so desired.csproj.com/developer/msbuild/2003"> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <StartAction>Program</StartAction> <StartProgram>C:\Program Files\AutoCAD MEP 2008\acad. everything will be in one project.scr"</StartArguments> </PropertyGroup> </Project>   Autodesk. Set the Working Directory to:  C:\Program Files\AutoCAD MEP 2008\UserDataCache  Note.  You can use a script to automatically  load the latest build of your .   <Project xmlns="http://schemas. In the Solution Explorer. set the Command line arguments to:  /ld "C:\Program Files\AutoCAD MEP 2008\AecBase. Enter the following XML text.  The folder structure  is built up as follows:  <drive>:###BOT_TEXT###lt;development folder>###BOT_TEXT###lt;solution name>###BOT_TEXT###lt;project name>  As your . Set the Start Action to Start external program. Select Text File. I’ve shown  where you should place actual returns.  Configure Debugging in Visual C# 2005 Express Edition  The Express Edition doesn’t allow you to configure debugging within the Studio directly.csproj. In the Visual Studio Solution Explorer.  2.dbx"   /b  “C:\ME104_2L\Solution\Project\Test. the C:\ME104_2L\ME104_2L\ME104_2L\ path may seem a bit odd… and it is. and select Add > New Item…  2. Click the Debug tab.exe  4. however. Inc.NET development progresses.  3.NET assembly. and select Properties.exe</StartProgram> <StartWorkingDirectory>C:\Program Files\AutoCAD MEP 2008\UserDataCache###BOT_TEXT###lt;/StartWorkingDirectory> <StartArguments>/ld "C:\Program Files\AutoCAD MEP 2008\AecBase. you  can configure debugging by manually defining a .user file:  1.

cs file by double clicking on it. Inc.dwg. select Start Debugging.  etc…  9.  Create and Test a . Click OK.NET Command  We will create a simple command to demonstrate that the . |  6    .dll") open "C:\ME104_2L\ME104_2L\ME104_2L\Test.user file.dwg" Note:  The lines above word‐wrapped in this document. a script may be used to automatically load .  AutoCAD should launch.csproj.  8. valves. From the Debug menu. open the Class1.  4.csproj. the script should run. specify the name Test.  The hard Returns have been indicated above  with  . and save all modified files. fittings.user file.  6. right click on the project name ME104_2L.NET assemblies and . Select File > Close Solution.scr  3. Enter the following:  (command "netload" "C:\ME104_2L\ME104_2L\ME104_2L\bin\Debug\ME104_2L.dll file is actually being loaded.  Sample Script File  As indicated above.  This should launch AutoCAD MEP from the path specified in the .  Autodesk. and select Add > New Item…  2. Reopen the project from the Recent Projects list. Since we’re going to use this file later. From the AutoCAD File menu.  7. you will have to close and reopen the solution  for the change to take effect. In the Solution Explorer. select Start Debugging.  4. mvparts. Save the empty file as Test. go ahead and draw some pipes.dwg file.    1. Browse to C:\ME104_2L\ME104_2L\ME104_2L  11.dwg files for  testing.  Note:  Anytime you make a change to the . Select Text File.  1. and load the Test. Close AutoCAD. In the Visual Studio Project Explorer.scr file cannot be found (because we haven’t created it yet). select Save As…  10.  12.  You should get a  message that the test. From the Debug menu.  5.

 and the  disconnect marker visibility.    Modifying Drawing Settings  Let’s take a look at some sample code that makes some changes to the current drawing’s settings.WriteMessage("Hello!").CommandMethod("Hello")] public void HelloCommand() { Editor ed = AcadApp.Editor.AutoCAD. using Autodesk.DocumentManager. namespace ME104_2L { public class Class1 { [Autodesk. ed. add the following two lines:  using AcadApp = Autodesk.AutoCAD. enter:  Hello   You should see Hello! at the command line. using AcadApp = Autodesk.scr  file defined in the previous section.AutoCAD.Application.Application.WriteMessage("Hello!").   3. The entire text of the Class1.MdiActiveDocument.cs file should be as follows:  using System.EditorInput. by configuring  a couple of drawing settings using a command. Above the namespace line.  6.AutoCAD. At the Command prompt.CommandMethod("Hello")] public void HelloCommand() { Editor ed = AcadApp. the Hidden (Haloed) line gap. From the Debug menu.Runtime. using Autodesk.Text. Inc. Inside the class definition brackets. }   4.MdiActiveDocument.  Autodesk. select Start Debugging  AutoCAD MEP should launch. add the following lines:  [Autodesk.DocumentManager.Generic.Runtime.    Now that you have the basics of setting up a AutoCAD MEP .ApplicationServices. using System. } } } 5.EditorInput.  2. we will now do  something a little more useful. |  7    . and the Test. ed.  In  this sample we’ll modify the Pipe and Duct insulation settings.dwg file should automatically open based on the .Editor.AutoCAD.Collections.ApplicationServices. using System.AutoCAD.NET project in Visual Studio.

 it  just tells the Transaction that we’re done.Transaction trans =  db.    Autodesk.  With the BuildingDBVariables. we can modify the settings as desired.  Autodesk.PipeInsulationThickness = 1.DuctInsulationThickness = 2.Building.StartTransaction())              {                  Autodesk.AutoCAD.EnablePipeInsulation = false.Building.ObjectId oid =  Autodesk.AutoCAD.ApplicationServices.GetObject(oid. we start a transaction. i.AutoCAD.DatabaseServices.. also  known in the code as BuildingDBVariables.Building.AutoCAD.BuildingDBVariables.ShowBrokenConnectionMarkers = true.              Autodesk.                    // Options > MEP Display Control > B ‐ Gap Width                  dbv.InterferenceDetection = true.BuildingDBVariables dbv = trans.Aec.Aec. Inc.ApplicationServices.EnableDuctInsulation = true.AutoCAD. and get the AutoCAD MEP settings.OpenMode.e.GetInstance(db.Runtime.                    // Options > MEP Layout Rules > Collision Detection > Alert                  dbv.AutoCAD.HostApplicationServices.TransactionManager.DatabaseServices.Database db =  Autodesk.HaloedLineGap = 4.  Once we have the database.DatabaseServices.                    // PipePreferences                  dbv.            [Autodesk. what we need to do is get a reference to the current drawing.ForWrite) as  Autodesk. this doesn’t save the file.DatabaseServices.WorkingDatabase. then Commit the transaction to  ‘save’ the changes to the drawing (this is not the same as saving the file. false).                    // View > Show Disconnect markers                  dbv.              using (Autodesk.                  dbv.                    // DuctPreferences                  dbv.BuildingDBVariables. and want to retain our changes).Aec.                    dbv. |  8    .DatabaseServices. known in the code as a  Database.  Basically.CommandMethod("Setup")]          public void Setup()          {              Autodesk.ApplicationServices.

  1. Inc.  The full code for these classes is attached to the end of this document. it is structured a bit differently.  We will now work on a solution to address a question I  came across on the Autodesk Discussion Groups  (http://discussion. Select Class. we need to modify the Class1.Runtime. this  addresses a common request to tabulate the total system volume.  Selection.cs – Provides the selection functionality.  Classes  As this is a little more complex than the ‘Hello’ project.Commit(). Repeat the above to create Selection.          [Autodesk.cs). and select Add > Class…  2.  GetPipeSystemVolumeCommand.cs. and  a couple of conversion factors. but for simplicity. and enter the name Utilities.  Additionally. |  9    . and MvParts may exist in the pipe  network.jspa?threadID=603868 ). and recursively iterates to find connected  components.  The question was how to come up  with a schedule that would itemize the total pipe length for each size of pipe.  Add the Command Method  Additionally. Right click on the folder.  the volume of the pipe is approximated.cs  3. it is broken up into three Classes.cs  Utilities.autodesk. Pipe Fittings. and GetPipeSystemVolumeCommand.  Valves.  Instead of one  file (Class1.cs – Defines the command to extract the pipe length and volume info.AutoCAD. each in its own file. we will look at getting  information about the elements in our drawing.                  trans. and then every interconnected component is inspected.              }          }    Calculating Pipe System Volume   Now that we have seen some basics of how to modify settings in the drawing.cs – Defines a couple of access functions for commonly used AutoCAD . their volumes are not considered.  If it is a Pipe object.CommandMethod("GetPipeSystemVolume")]          public void GetPipeSystemVolume()          {  Autodesk.cs file to add our command.com/thread.NET API statements.  The following sample demonstrates how to extract this information from a pipe system.  The user is  prompted to select a pipe.

Verify that all connectors have a load assigned. and you should see the result of the calculation:  Command: GetPipeSystemVolume  Select a pipe:  64.dwg file has opened. and test our command. Pick on a Pipe.  Since that is not specific to the AutoCAD MEP .75" pipe  179.6' of 8" pipe  53.              GetPipeSystemVolumeCommand. select Start Debugging.7' of 0. From the Debug menu. |  10    .  From this point.  Summary  Note that this calculation is approximate based on the pipe segments only. Inc. Voltage and number of poles of all device connectors match the voltage and number of poles of  the circuit to which they are connected. however.  3. that it is possible to add this  information to the pipe catalog.0' of 20" pipe  Total Volume in Gallons: 3105.  Autodesk. and you should see your earlier work.  By default.NET API to generate a table object. the AutoCAD MEP pipe catalogs do not have interior diameter information  for the various pipe classes and materials.4' of 2" pipe  300.Execute().  1. Verify that all device connectors are connected to a circuit.67    Your results will likely be different.  Rest assured.  it is outside the scope of this class. you can use the AutoCAD . and insert the pipe length  and volume information directly in the drawing. Enter the command GetPipeSystemVolume.  3.  We will  check to make sure that each connection meets the following criteria:  1. we should be able to start debugging. and it is using the nominal  pipe diameter.  Note the Test. and access it from the API to get more accurate pipe volume  calculations if necessary. we will check electrical devices to automate the process of checking drawings.   2.          }  Test and Debug  Now.NET API.  Checking Electrical Connections  In this example.  2.

CommandMethod("CheckDeviceConnections")]          public void CheckDeviceConnections()          {              ElectricalDeviceConnectionCheckerCommand.  Assign load to *some* of the devices (some that are circuited. 2.AutoCAD.. and then click Add. 4.  Enter the command “CheckDeviceConnections”  . 2.  This will help eliminate  string literals in our code.  To  help with these tasks. 5. and selecting all Device objects. 6.  Enter the name/value pairs as you see here:    Add the Command Method  There is another method added to Selection. and select Add > New Item…  Select Resources File.cs called GetAllOfType(). receptacles.Runtime.  4.  Connect *some* of the devices. Inc.cs:          [Autodesk.          }    Test the Electrical Connection Checker  1. etc.  Enter the name Constants.  Save the file (just in case something is not quite right in your code.   Autodesk. Right click on the ME104_2L project name.  Add Constants  In this sample. Verify that Circuit is in Circuit Database. 7. 3.  Add command to Class1.  1. 3. light fixtures. and some that are not circuited).e. |  11    Start Debug  Place a few devices (i.Execute(). and a crash ensues). we’re going to be creating a Property Set Definition.)  Place a panel (create circuits). and make it easier to maintain. 4. we’re going to create some constants in Visual Studio.

com/WileyCDA/WroxTitle/productCd‐0764559885.  Or.  On Your Own  Note that you can now use a Display Theme to visually show connected vs. Inc.wrox.wrox.NET 2.html  Code Complete. and would recommend:  Professional C# 2005  http://www. you can create a schedule.NET 2.0 Generics  http://www.com/book/view/1590594398  Professional . 2nd Edition  http://www.    References  The following are books that I have recently read. which will then zoom you to the  disconnected device.0 Windows Forms and Custom Controls in C#  http://www.html        Autodesk.com/WileyCDA/WroxTitle/productCd‐0764575341.apress. |  12    .com/  Pro .   Alternatively. you may want to create a user interface that lists the  disconnected devices. and lets you pick on an element in the list. disconnected devices.cc2e.

 Inc.  Questions / Notes    Autodesk. |  13    .

 |  14    . Inc.  Sample Code          Autodesk.

BuildingDBVariables.AutoCAD.Execute().Editor. TransactionManager.Aec. } } } .BuildingDBVariables.InterferenceDetection = true. // Options > MEP Display Control > B . DatabaseServices.OpenMode. // PipePreferences dbv. dbv. dbv. ed. // View > Show Disconnect markers dbv. 1 namespace ME104_2L { public class Class1 { [Autodesk.CommandMethod("GetPipeSystemVolume")] public void GetPipeSystemVolume() { GetPipeSystemVolumeCommand.Commit().AutoCAD.AutoCAD. Autodesk.Generic.Text.Aec. } [Autodesk. // DuctPreferences dbv.ObjectId oid = Autodesk. System.PipeInsulationThickness = 1.ShowBrokenConnectionMarkers = true.Collections.ApplicationServices.StartTransaction()) { Autodesk.GetInstance(db.AutoCAD.MdiActiveDocument.AutoCAD. } [Autodesk.DatabaseServices.HaloedLineGap = 4.AutoCAD.Application. using (Autodesk.Building.Gap Width dbv.AutoCAD. Building.DocumentManager.Aec.CommandMethod("CheckDeviceConnections")] public void CheckDeviceConnections() { ElectricalDeviceConnectionCheckerCommand.Runtime. trans. false).ForWrite) as Autodesk.AutoCAD.WriteMessage("Hello!").Runtime. AcadApp = Autodesk.Runtime.DatabaseServices.EnablePipeInsulation = false.DatabaseServices.Execute().Runtime.DatabaseServices.EditorInput. // Options > MEP Layout Rules > Collision Detection > Alert dbv.cs using using using using using System.CommandMethod("Hello")] public void HelloCommand() { Editor ed = AcadApp.WorkingDatabase.Transaction trans = db.DuctInsulationThickness = 2. ApplicationServices.AutoCAD.BuildingDBVariables dbv = trans.c:\ME104_2L\ME104_2L\ME104_2L\Class1.CommandMethod("Setup")] public void Setup() { Autodesk. } } [Autodesk.ApplicationServices.ApplicationServices.Database db = Autodesk. Autodesk. Autodesk.AutoCAD. System.AutoCAD.EnableDuctInsulation = true.Building.HostApplicationServices. GetObject(oid.

static ObjectIdCollection m_uncircuitedList. } m_trans.AutoCAD. static ObjectIdCollection m_voltsPolesMismatchList. static ObjectIdCollection m_circuitNotFoundInProjectDatabaseList.DatabaseServices. int connectionCount = devStyle. CheckDeviceConnectionLoads(dev.Count. SetDevicePropertySetInfo(psdId. static ObjectIdCollection m_noLoadList. ObjectIdCollection devIdColl = Selection. m_circuitNotFoundInProjectDatabaseList = new ObjectIdCollection().Building. Undefined = -1 }. connectionsOk.Building.Aec.Application. Database db = HostApplicationServices. namespace ME104_2L { class ElectricalDeviceConnectionCheckerCommand { static Transaction m_trans.DatabaseServices. connectionsNotOk). connectionCount).Aec. m_noLoadList = new ObjectIdCollection().EditorInput.PropertyData.ApplicationServices. ObjectIdCollection connectionsOk = null.TransactionManager. OpenMode.GetAllOfType(Constants. ref connectionsOk).StartTransaction()) { foreach (ObjectId devId in devIdColl) { Device dev = m_trans.Collections. ByCircuit = -2. ForRead) as DeviceStyle. DeviceStyle devStyle = m_trans.StyleId. CheckDeviceConnections(dev. // MEP Specifics using Autodesk. ref connectionsNotOk.MultiViewPartConnectors.Building.Aec. enum ConnectionProperty { Null =-3. m_voltsPolesMismatchList = new ObjectIdCollection(). ObjectId psdId = PropertySetHelpers. CreateCheckElectricalConnectionsPropertySet().DatabaseServices.DatabaseServices.GetObject(dev.Generic.ForRead) as Device.Diagnostics. public static void Execute() { m_uncircuitedList = new ObjectIdCollection(). using Autodesk. GenerateConnectionStatusLists(devIdColl. using Autodesk. OpenMode. // AutoCAD Architecture Specific using Autodesk. using (m_trans = db.cs using System. } ObjectIdCollection connectionsNotOk = null. connectionCount).Aec. } 1 .AutoCAD.AutoCAD. // AutoCAD Specific using Autodesk.Commit().ApplicationServices. using Autodesk. // create an alias to the AutoCAD Application object using AcadApp = Autodesk. using System.AECB_DEVICE).c:\ME104_2L\ME104_2L\ME104_2L\ElectricalDeviceConnectionCheckerCommand.GetObject(devId.WorkingDatabase.Elec.

2 .ForWrite) as PropertySet. } } foreach (ObjectId oid in m_circuitNotFoundInProjectDatabaseList) { if (!connectionsNotOk.Contains(oid)) { connectionsNotOk.Add(oid).GetPropertySet(oid. int id = ps. } } foreach (ObjectId oid in m_voltsPolesMismatchList) { if (!connectionsNotOk.cs private static void GenerateConnectionStatusLists(ObjectIdCollection devIdColl.Add(oid). ref ObjectIdCollection connectionsOk) { connectionsNotOk = new ObjectIdCollection().c:\ME104_2L\ME104_2L\ME104_2L\ElectricalDeviceConnectionCheckerCommand.Add(oid).GetObject(psId.Add(oid).ConnectionsOK). using (Transaction trans = db.TransactionManager.Add(oid).Contains(oid)) { connectionsNotOk. psdId).Contains(oid)) { connectionsNotOk. ps.PropertyNameToId(Constants. foreach (ObjectId oid in m_uncircuitedList) { if (!connectionsNotOk.Contains(oid)) { connectionsOk.Contains(oid)) { connectionsNotOk. PropertySet ps = trans. ObjectIdCollection connectionsOk. } } connectionsOk = new ObjectIdCollection(). } } } } private static void SetDevicePropertySetInfo(ObjectId psdId. ref ObjectIdCollection connectionsNotOk.Contains(oid) && !connectionsOk. { foreach (ObjectId oid in devIdColl) { if (!connectionsNotOk. psdId). true).StartTransaction()) { foreach (ObjectId oid in connectionsOk) { ObjectId psId = PropertySetHelpers. OpenMode.WorkingDatabase. } foreach (ObjectId oid in connectionsNotOk) { ObjectId psId = PropertySetHelpers. ObjectIdCollection connectionsNotOk) { Database db = HostApplicationServices. } } foreach (ObjectId oid in m_noLoadList) { if (!connectionsNotOk.SetAt(id.GetPropertySet(oid.

indx. if (circuit != null) { ConnectionComponentMember currentConnection = dev. ps.cs PropertySet ps = trans.GetPropertyInt(Context. indx <= connectionCount. ConnectionComponentMembers[indx . if (currentConnection. Device dev. double connectorVoltage = GetConnectorPropertyDouble(dev. Context.1]. int id = ps. Context.c:\ME104_2L\ME104_2L\ME104_2L\ElectricalDeviceConnectionCheckerCommand.Commit(). } } } } private static void CheckVoltsAndPoles(Circuit circuit. double circuitVoltage = circuit. for (int indx = 1. if (currentConnection. indx <= connectionCount. int connectionCount) { ConnectionComponentMemberCollection ccmc = dev. } } 3 private static void CheckDeviceConnectionLoads(Device dev.ForWrite) as PropertySet. int connectionCount) { ConnectionComponentMemberCollection ccmc = dev. dev.SystemType == SystemType. int circuitNumberOfPoles = circuit.ConnectionComponentMembers.1]. if (load <= 0) { m_noLoadList. . indx. indx). indx). ConnectionPropertyVoltage).SetAt(id. } trans. OpenMode. false). indx++) { Circuit circuit = CheckConnectorCircuit(dev.ObjectId). ConnectionComponentMembers[indx . ConnectionPropertyNoOfPoles).GetObject(psId.ConnectionsOK). bool polesOk = false. indx++) { ConnectionComponentMember currentConnection = dev.ConnectionComponentMembers. int indx) { bool voltageOk = false.GetPropertyDouble(Context. } } } } private static void CheckDeviceConnections(Device dev.Add(dev. ConnectionPropertyLoad). PowerAndLightingSystemType) { CheckVoltsAndPoles(circuit. ConnectionPropertyVoltage).SystemType == SystemType.PowerAndLightingSystemType) { double load = GetConnectorPropertyDouble(dev. for (int indx = 1.PropertyNameToId(Constants.

cs int connectorNumberOfPoles = GetConnectorPropertyNumberOfPoles(dev.GetEngineeringData(dev). } if (!voltageOk || !polesOk) { m_voltsPolesMismatchList.GetPartData(dev).FindByContextAndIndex(context. value = dfStyle. DataRecord instanceData = PartManager. } } catch { } Debug. Context context) { double value = (double)ConnectionProperty.ValueDouble.Add(dev.AllowOverride == true) { value = dfInstance.ValueDouble. ByCircuit) { polesOk = true. try { dfInstance = instanceData. ByCircuit) { voltageOk = true. if (circuitVoltage == connectorVoltage || connectorVoltage ==(double) ConnectionProperty.ConnectionPropertyNoOfPoles. DataField dfInstance = null.FindByContextAndIndex(context.Undefined || connectorVoltage==(double)ConnectionProperty.DataFields. int value = (int)ConnectionProperty. } private static int GetConnectorPropertyNumberOfPoles(Device dev.ValueDouble. index). if (dfStyle. } catch { } try { dfStyle = styleData.c:\ME104_2L\ME104_2L\ME104_2L\ElectricalDeviceConnectionCheckerCommand.Null.Null).ObjectId). indx).Undefined || connectorNumberOfPoles==(int)ConnectionProperty. } } private static double GetConnectorPropertyDouble(Device dev. value = dfInstance.DataFields. int index) { Context context = Context.GetPartData(dev). DataField dfStyle = null. int index. index) . } 4 if (circuitNumberOfPoles == connectorNumberOfPoles || connectorNumberOfPoles = =(int)ConnectionProperty. return value.Assert(value != (double)ConnectionProperty. . DataRecord styleData = PartManager. DataField dfStyle = null.Null. DataRecord styleData = PartManager.

} } else { m_uncircuitedList.DataFields.CircuitType == CircuitType. return value.AllowOverride == false) { value = dfStyle. index). } return ckt. } catch { } try { dfStyle = styleData.DataFields.CopyDeleted) { m_circuitNotFoundInProjectDatabaseList.FindByContextAndIndex(context. OpenMode.c:\ME104_2L\ME104_2L\ME104_2L\ElectricalDeviceConnectionCheckerCommand.Add(dev.ValueObjectId != ObjectId.ValueObjectId. if (dfStyle.ObjectId). } } catch { m_uncircuitedList.ValueInteger. DataRecord instanceData = PartManager.GetEngineeringData(dev). value = dfInstance. if (dfCircuit.DataFields.ConnectionPropertyCircuit.Null). } } catch { } Debug. int index) { Circuit ckt = null.GetObject(dfCircuit.Add(dev. try { DataField dfCircuit = instanceData. CircuitType == CircuitType. try { 5 dfInstance = instanceData.ValueInteger.Assert(value != (int)ConnectionProperty.GetEngineeringData(dev). DataField dfInstance = null. } private static Circuit CheckConnectorCircuit(Device dev.Add(dev. index) . if (ckt.FindByContextAndIndex(context. index). } } } .CopyProjectDatabaseMissing || ckt.ForRead) as Circuit.FindByContextAndIndex (Context.cs DataRecord instanceData = PartManager.ObjectId).Null) { ckt = m_trans.ObjectId).

DataFields) { if (df.ObjectId.m_otherObjectIds. using Autodesk. if (pipeCount > 0) { GetPipeSegmentInfo(). value = length in inches static Selection m_selection. OpenMode. // AutoCAD Specific using Autodesk.GetPartData(pipe).m_pipeObjectIds.Building.m_pipeObjectIds) { Pipe pipe = trans.Building.Name == "ND1") { Double nominalDiameter = df. Double length = pipe. DataRecord rec = PartManager. } } private static void GetPipeSegmentInfo() { // student to fill in code starting here m_pipeLengthInfo = new Dictionary<double. SummarizePipeInfo(). if (!m_pipeLengthInfo.Generic.Aec.ForRead) as Pipe.ApplicationServices.Application. public static void Execute() { m_selection = new Selection().Add(nominalDiameter. } } } } trans. length). using (Transaction trans = Utilities.Count.Count. foreach (DataField df in rec.Commit().cs using System.Piping. using ObjectId = Autodesk.StartTransaction()) { foreach (ObjectId oid in m_selection. // create an alias to the AutoCAD Application object using AcadApp = Autodesk. } else { m_pipeLengthInfo[nominalDiameter] += length. // MEP Specifics using Autodesk.ContainsKey(nominalDiameter)) { m_pipeLengthInfo. using System.Collections.AutoCAD.AutoCAD. // key = nominal inches.c:\ME104_2L\ME104_2L\ME104_2L\GetPipeSystemVolumeCommand.GetObject(oid. } . 1 namespace ME104_2L { class GetPipeSystemVolumeCommand { static Dictionary<double.ApplicationServices.Length.Aec. int otherCount = m_selection.ValueDouble.DatabaseServices.AutoCAD.DatabaseServices. int pipeCount = m_selection. double>(). double> m_pipeLengthInfo.DatabaseServices.

length = length * Utilities.c:\ME104_2L\ME104_2L\ME104_2L\GetPipeSystemVolumeCommand.WriteMessage(String. diameter)).Format("\n{0}

of {1}###BOT_TEXT###quot; pipe".ToString("0.Pow(radius. } double totalVolumeGallons = totalVolumeCuIn * Utilities.Keys) { double length = m_pipeLengthInfo[diameter]. } private static void SummarizePipeInfo() { foreach (double diameter in m_pipeLengthInfo. totalVolumeCuIn += Math.00"))).ToString("0. if (m_pipeLengthInfo == null) { return 0.0. Utilities. return totalVolumeGallons. volume.cs // student code ends here } 2 private static double CalculateSystemVolume() { double totalVolumeCuIn = 0.Keys) { double length = m_pipeLengthInfo[diameter]. double radius = diameter / 2. Utilities. } foreach (double diameter in m_pipeLengthInfo. } double volume = CalculateSystemVolume().WriteMessage(String.InchesToFeet.0"). length. } } } .Editor.PI * Math.CubicInchesToGallons. 2) * length.Format("\nTotal Volume in Gallons: {0}".Editor.

c:\ME104_2L\ME104_2L\ME104_2L\ME104_2L.user <Project xmlns="http://schemas.microsoft.csproj.dbx" /b "C:\ME104_2L\ ME104_2L\ME104_2L\Test.com/developer/msbuild/2003"> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <StartAction>Program</StartAction> <StartProgram>C:\Program Files\AutoCAD MEP 2008\acad.exe</StartProgram> <StartWorkingDirectory>C:\Program Files\AutoCAD MEP 2008\UserDataCache###BOT_TEXT###lt;/ StartWorkingDirectory> <StartArguments>/ld "C:\Program Files\AutoCAD MEP 2008\AecBase.scr"</StartArguments> </PropertyGroup> </Project> 1 .

Null. PropertySetDefinition psdef. } public static ObjectId CreateCheckElectricalConnectionsPropertySet() { ObjectId psdefId = ObjectId.GetPropertySet(obj.AddNewRecord(psName. psdId).SetAppliesToFilter(sColl.GetObject(psdefId. } return propSetId.StartTransaction()) { DBObject obj = trans.GetPropertySet(obj.AddNewlyCreatedDBObject(psdef. } psdefId = dictPSDs. using (Transaction trans = db.AecbDbDevice). psdef).Specialized.WorkingDatabase. propSetId = PropertyDataServices. true).DatabaseServices. trans. Database db = HostApplicationServices. trans))) { StringCollection sColl = new StringCollection().PropertyData. 1 .Null.WorkingDatabase.ForWrite).AutoCAD.CheckElectricalConnections. false). ObjectId psdId) { ObjectId propSetId = ObjectId. psdId).Commit(). using DBObject = Autodesk.DatabaseServices.TransactionManager.Aec.DatabaseServices. psdef = trans. sColl. OpenMode. psdef = new PropertySetDefinition().AutoCAD. namespace ME104_2L { class PropertySetHelpers { public static ObjectId GetPropertySet(ObjectId oid.c:\ME104_2L\ME104_2L\ME104_2L\PropertySetHelpers.StartTransaction()) { if (!(dictPSDs. // AutoCAD Specific using Autodesk.Add(Constants.DatabaseServices.TransactionManager.cs using System.GetObject(oid. psdef. try { propSetId = PropertyDataServices.AutoCAD.DBObject. using (Transaction trans = db.ObjectId.ForWrite) as PropertySetDefinition.Collections. string psName = Constants. } catch { // object doesn't have PSD attached. OpenMode. using ObjectId = Autodesk.AddPropertySet(obj.GetAt(psName). so attach it PropertyDataServices. Database db = HostApplicationServices. } trans. // ACA Specific using Autodesk. dictPSDs.Has(psName. psdId). DictionaryPropertySetDefinitions dictPSDs = new DictionaryPropertySetDefinitions(db).

} } } 2 .Commit().Definitions.IsReadOnly = true.DefaultData = false.DataType = Autodesk.c:\ME104_2L\ME104_2L\ME104_2L\PropertySetHelpers. pd.ConnectionsOK.Definitions. if (!(psdef. } return psdefId.TrueFalse.Name = Constants. } trans.Aec.Description = "Use the CheckElectricalConnections command to update this field.Contains(pd))) { psdef.PropertyData.". pd.cs PropertyDefinition pd = new PropertyDefinition(). pd. pd.Add(pd).DataType. pd.

using Autodesk. Transaction m_trans. GetPipeNetworkObjectIds(). GetConnectedObjects(mem). PromptEntityResult prResult = ed.Aec.DatabaseServices.Application.DocumentManager. } // this is used for the Pipe Sample public void GetPipeNetworkObjectIds() { // store pipes separate from other elements (valves.. // this is used for the Pipe Sample public Selection() { m_pipeObjectIds = new ObjectIdCollection().AddAllowedClass(typeof(Pipe).OK) { return.ApplicationServices.AutoCAD.ObjectId oidSelected = prResult. try { using (m_trans = AcadApp. using Autodesk. m_otherObjectIds = new ObjectIdCollection().c:\ME104_2L\ME104_2L\ME104_2L\Selection.AutoCAD. if (prResult.Building..Add(oidSelected). prOptions. etc.Commit().MdiActiveDocument. false).Piping.Database. OpenMode.cs // AutoCAD Specific using Autodesk.").GetEntity(prOptions). TransactionManager. // prompt the user to select a member Editor ed = Utilities.Status != PromptStatus. note that we only want a pipe object PromptEntityOptions prOptions = new PromptEntityOptions("Select a pipe"). fittings. m_trans. } } catch { } } // this is used for the Pipe Sample 1 .StartTransaction()) { Member mem = m_trans.DatabaseServices. } // get the ObjectId from the selected object Autodesk.Building. prOptions.) // set up the entity prompt options.AutoCAD.SetRejectMessage("\nObject must be a pipe.Aec. // MEP Specifics using Autodesk.AutoCAD. namespace ME104_2L { class Selection { public ObjectIdCollection m_pipeObjectIds. // create an alias to the AutoCAD Application object using AcadApp = Autodesk.DatabaseServices.ForRead) as Member.DatabaseServices.EditorInput.Editor.GetObject(oidSelected. m_pipeObjectIds.ObjectId. public ObjectIdCollection m_otherObjectIds.

DocumentManager.DatabaseServices.cs private void GetConnectedObjects(Member member) { ConnectionComponentMemberCollection connComps = member.ForRead.GetObject(id. filterlist[0] = new TypedValue(0.AutoCAD.MdiActiveDocument.ObjectIdCollection oids = member. OpenMode.Editor.GetType() == typeof(Pipe)) { m_pipeObjectIds.OK) { return null.Add(id). } } } .Value. SelectionFilter filter = new SelectionFilter(filterlist). ObjectIdCollection oidc = new ObjectIdCollection(ss. Editor ed = AcadApp.Add(id). } else { m_otherObjectIds.GetObjectIds()). 2 foreach (Autodesk. if (prResult. ConnectionComponentMembers. dxfEntityType). return oidc.c:\ME104_2L\ME104_2L\ME104_2L\Selection.SelectAll(filter).DatabaseServices. } } } } // this is for the Electrical Device sample public static ObjectIdCollection GetAllOfType(string dxfEntityType) { TypedValue[] filterlist = new TypedValue[1]. false) as Member.Contains(id)) { Member iterMember = m_trans.Contains(id) && !m_otherObjectIds. GetObjectsAtConnectionComponent(ccm). } GetConnectedObjects(iterMember). foreach (ConnectionComponentMember ccm in connComps) { Autodesk.AutoCAD.Status != PromptStatus. PromptSelectionResult prResult. prResult = ed. } SelectionSet ss = prResult.ObjectId id in oids) { if (!m_pipeObjectIds. if (iterMember.

scr (command "netload" "C:\ME104_2L\ME104_2L\ME104_2L\bin\Debug\ME104_2L.dwg" 1 .c:\ME104_2L\ME104_2L\ME104_2L\Test.dll") open "C:\ME104_2L\ME104_2L\ME104_2L\Test.

00432900431.DocumentManager. } } public static Transaction StartTransaction() { return AcadApp. using AcadApp = Autodesk.cs using System.MdiActiveDocument.AutoCAD.Editor.0 / 12.EditorInput.0.Database.Application.DatabaseServices. using Autodesk.MdiActiveDocument. } } } } 1 .ApplicationServices. namespace ME104_2L { class Utilities { public static Editor Editor { get { return AcadApp. } public static Double CubicInchesToGallons { get { return 0. using Autodesk.AutoCAD. } } public static Double InchesToFeet { get { return 1. StartTransaction().TransactionManager.c:\ME104_2L\ME104_2L\ME104_2L\Utilities.AutoCAD.DocumentManager.

Related Interests

of {1}###BOT_TEXT###quot; pipe".ToString("0.Pow(radius. } double totalVolumeGallons = totalVolumeCuIn * Utilities.Keys) { double length = m_pipeLengthInfo[diameter]. } private static void SummarizePipeInfo() { foreach (double diameter in m_pipeLengthInfo. totalVolumeCuIn += Math.00"))).ToString("0. if (m_pipeLengthInfo == null) { return 0.0. Utilities. return totalVolumeGallons. volume.cs // student code ends here } 2 private static double CalculateSystemVolume() { double totalVolumeCuIn = 0.Keys) { double length = m_pipeLengthInfo[diameter]. double radius = diameter / 2. Utilities. } foreach (double diameter in m_pipeLengthInfo. } double volume = CalculateSystemVolume().WriteMessage(String.InchesToFeet.0"). length. } } } .Editor.PI * Math.CubicInchesToGallons. 2) * length.Format("\nTotal Volume in Gallons: {0}".Editor.

c:\ME104_2L\ME104_2L\ME104_2L\ME104_2L.user <Project xmlns="http://schemas.microsoft.csproj.dbx" /b "C:\ME104_2L\ ME104_2L\ME104_2L\Test.com/developer/msbuild/2003"> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <StartAction>Program</StartAction> <StartProgram>C:\Program Files\AutoCAD MEP 2008\acad.exe</StartProgram> <StartWorkingDirectory>C:\Program Files\AutoCAD MEP 2008\UserDataCache###BOT_TEXT###lt;/ StartWorkingDirectory> <StartArguments>/ld "C:\Program Files\AutoCAD MEP 2008\AecBase.scr"</StartArguments> </PropertyGroup> </Project> 1 .

Null. PropertySetDefinition psdef. } public static ObjectId CreateCheckElectricalConnectionsPropertySet() { ObjectId psdefId = ObjectId.GetPropertySet(obj.AddNewRecord(psName. psdId).SetAppliesToFilter(sColl.GetObject(psdefId. } return propSetId.StartTransaction()) { DBObject obj = trans.GetPropertySet(obj.AddNewlyCreatedDBObject(psdef. } psdefId = dictPSDs. using (Transaction trans = db.AecbDbDevice). psdef).Specialized.WorkingDatabase. propSetId = PropertyDataServices. true).DatabaseServices. trans. Database db = HostApplicationServices. trans))) { StringCollection sColl = new StringCollection().PropertyData. 1 .Null.WorkingDatabase.ForWrite).AutoCAD.CheckElectricalConnections. false). ObjectId psdId) { ObjectId propSetId = ObjectId. psdId).Commit(). using DBObject = Autodesk.DatabaseServices.TransactionManager.Aec.DatabaseServices. psdef = trans. sColl. OpenMode. psdef = new PropertySetDefinition().AutoCAD. namespace ME104_2L { class PropertySetHelpers { public static ObjectId GetPropertySet(ObjectId oid.c:\ME104_2L\ME104_2L\ME104_2L\PropertySetHelpers.StartTransaction()) { if (!(dictPSDs. // AutoCAD Specific using Autodesk.Add(Constants.DatabaseServices.TransactionManager.cs using System.GetObject(oid. psdef. try { propSetId = PropertyDataServices.AutoCAD.DBObject. using (Transaction trans = db.ObjectId.ForWrite) as PropertySetDefinition.Collections. string psName = Constants. } catch { // object doesn't have PSD attached. OpenMode. using ObjectId = Autodesk.AddPropertySet(obj.GetAt(psName). so attach it PropertyDataServices. Database db = HostApplicationServices. } trans. // ACA Specific using Autodesk. dictPSDs.Has(psName. psdId). DictionaryPropertySetDefinitions dictPSDs = new DictionaryPropertySetDefinitions(db).

} } } 2 .Commit().Definitions.IsReadOnly = true.DefaultData = false.DataType = Autodesk.c:\ME104_2L\ME104_2L\ME104_2L\PropertySetHelpers. pd.ConnectionsOK.Definitions. if (!(psdef. } return psdefId.TrueFalse.Name = Constants. } trans.Aec.Description = "Use the CheckElectricalConnections command to update this field.Contains(pd))) { psdef.PropertyData.". pd.cs PropertyDefinition pd = new PropertyDefinition(). pd. pd.Add(pd).DataType. pd.

using Autodesk. Transaction m_trans. GetPipeNetworkObjectIds(). GetConnectedObjects(mem). PromptEntityResult prResult = ed.Aec.DatabaseServices.Application.DocumentManager. } // this is used for the Pipe Sample public void GetPipeNetworkObjectIds() { // store pipes separate from other elements (valves.. // this is used for the Pipe Sample public Selection() { m_pipeObjectIds = new ObjectIdCollection().AddAllowedClass(typeof(Pipe).OK) { return.ApplicationServices.AutoCAD.ObjectId oidSelected = prResult. try { using (m_trans = AcadApp. using Autodesk. m_otherObjectIds = new ObjectIdCollection().c:\ME104_2L\ME104_2L\ME104_2L\Selection.AutoCAD. if (prResult.Building..Add(oidSelected). prOptions. etc.Commit().MdiActiveDocument. false).Piping.Database. OpenMode.cs // AutoCAD Specific using Autodesk.").GetEntity(prOptions). TransactionManager. // prompt the user to select a member Editor ed = Utilities.Status != PromptStatus. note that we only want a pipe object PromptEntityOptions prOptions = new PromptEntityOptions("Select a pipe"). fittings. m_trans. } } catch { } } // this is used for the Pipe Sample 1 .StartTransaction()) { Member mem = m_trans.DatabaseServices. } // get the ObjectId from the selected object Autodesk.Building. prOptions.) // set up the entity prompt options.AutoCAD.SetRejectMessage("\nObject must be a pipe.Aec. // MEP Specifics using Autodesk.AutoCAD. namespace ME104_2L { class Selection { public ObjectIdCollection m_pipeObjectIds. // create an alias to the AutoCAD Application object using AcadApp = Autodesk.DatabaseServices.ForRead) as Member.DatabaseServices.EditorInput.Editor.GetObject(oidSelected. m_pipeObjectIds.ObjectId. public ObjectIdCollection m_otherObjectIds.

DocumentManager.DatabaseServices.cs private void GetConnectedObjects(Member member) { ConnectionComponentMemberCollection connComps = member.ForRead.GetObject(id. filterlist[0] = new TypedValue(0.AutoCAD.MdiActiveDocument.ObjectIdCollection oids = member. OpenMode.Editor.GetType() == typeof(Pipe)) { m_pipeObjectIds.OK) { return null.Add(id). } } } .Value. SelectionFilter filter = new SelectionFilter(filterlist). ObjectIdCollection oidc = new ObjectIdCollection(ss. Editor ed = AcadApp.Add(id). } else { m_otherObjectIds.GetObjectIds()). 2 foreach (Autodesk. if (prResult. ConnectionComponentMembers. dxfEntityType). return oidc.c:\ME104_2L\ME104_2L\ME104_2L\Selection.SelectAll(filter).DatabaseServices. } } } } // this is for the Electrical Device sample public static ObjectIdCollection GetAllOfType(string dxfEntityType) { TypedValue[] filterlist = new TypedValue[1]. false) as Member.Contains(id)) { Member iterMember = m_trans.Contains(id) && !m_otherObjectIds. GetObjectsAtConnectionComponent(ccm). } GetConnectedObjects(iterMember). foreach (ConnectionComponentMember ccm in connComps) { Autodesk.AutoCAD.Status != PromptStatus. PromptSelectionResult prResult. prResult = ed. } SelectionSet ss = prResult.ObjectId id in oids) { if (!m_pipeObjectIds. if (iterMember.

scr (command "netload" "C:\ME104_2L\ME104_2L\ME104_2L\bin\Debug\ME104_2L.dwg" 1 .c:\ME104_2L\ME104_2L\ME104_2L\Test.dll") open "C:\ME104_2L\ME104_2L\ME104_2L\Test.

00432900431.DocumentManager. } } public static Transaction StartTransaction() { return AcadApp. using AcadApp = Autodesk.cs using System.MdiActiveDocument.AutoCAD.Editor.0 / 12.EditorInput.0.Database.Application.DatabaseServices. using Autodesk.MdiActiveDocument. } } } } 1 .ApplicationServices. namespace ME104_2L { class Utilities { public static Editor Editor { get { return AcadApp. } public static Double CubicInchesToGallons { get { return 0. using Autodesk.AutoCAD. } } public static Double InchesToFeet { get { return 1. StartTransaction().TransactionManager.c:\ME104_2L\ME104_2L\ME104_2L\Utilities.AutoCAD.DocumentManager.

","static_promo_banner_cta_url":"https://www.scribd.com/"},"eligible_for_exclusive_trial_roadblock":false,"eligible_for_seo_roadblock":false,"exclusive_free_trial_roadblock_props_path":"/doc-page/exclusive-free-trial-props/87997133","flashes":[],"footer_props":{"urls":{"about":"/about","press":"/press","blog":"http://literally.scribd.com/","careers":"/careers","contact":"/contact","plans_landing":"/subscribe","referrals":"/referrals?source=footer","giftcards":"/giftcards","faq":"/faq","accessibility":"/accessibility-policy","faq_paths":{"accounts":"https://support.scribd.com/hc/sections/202246346","announcements":"https://support.scribd.com/hc/sections/202246066","copyright":"https://support.scribd.com/hc/sections/202246086","downloading":"https://support.scribd.com/hc/articles/210135046","publishing":"https://support.scribd.com/hc/sections/202246366","reading":"https://support.scribd.com/hc/sections/202246406","selling":"https://support.scribd.com/hc/sections/202246326","store":"https://support.scribd.com/hc/sections/202246306","status":"https://support.scribd.com/hc/en-us/articles/360001202872","terms":"https://support.scribd.com/hc/sections/202246126","writing":"https://support.scribd.com/hc/sections/202246366","adchoices":"https://support.scribd.com/hc/articles/210129366","paid_features":"https://support.scribd.com/hc/sections/202246306","failed_uploads":"https://support.scribd.com/hc/en-us/articles/210134586-Troubleshooting-uploads-and-conversions","copyright_infringement":"https://support.scribd.com/hc/en-us/articles/210128946-DMCA-copyright-infringement-takedown-notification-policy","end_user_license":"https://support.scribd.com/hc/en-us/articles/210129486","terms_of_use":"https://support.scribd.com/hc/en-us/articles/210129326-General-Terms-of-Use"},"publishers":"/publishers","static_terms":"/terms","static_privacy":"/privacy","copyright":"/copyright","ios_app":"https://itunes.apple.com/us/app/scribd-worlds-largest-online/id542557212?mt=8&uo=4&at=11lGEE","android_app":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0&hl=en","books":"/books","sitemap":"/directory"}},"global_nav_props":{"header_props":{"logo_src":"/images/landing/home2_landing/scribd_logo_horiz_small.svg","root_url":"https://www.scribd.com/","search_term":"","small_logo_src":"/images/logos/scribd_s_logo.png","uploads_url":"/upload-document","search_props":{"redirect_to_app":true,"search_url":"/search","query":"","search_page":false}},"user_menu_props":null,"sidebar_props":{"urls":{"bestsellers":"https://www.scribd.com/bestsellers","home":"https://www.scribd.com/","saved":"/saved","subscribe":"/archive/pmp_checkout?doc=87997133&metadata=%7B%22context%22%3A%22pmp%22%2C%22action%22%3A%22start_trial%22%2C%22logged_in%22%3Afalse%2C%22platform%22%3A%22web%22%7D","top_charts":"/bestsellers","upload":"https://www.scribd.com/upload-document"},"categories":{"book":{"icon":"icon-ic_book","icon_filled":"icon-ic_book_fill","url":"https://www.scribd.com/books","name":"Books","type":"book"},"news":{"icon":"icon-ic_articles","icon_filled":"icon-ic_articles_fill","url":"https://www.scribd.com/news","name":"News","type":"news"},"audiobook":{"icon":"icon-ic_audiobook","icon_filled":"icon-ic_audiobook_fill","url":"https://www.scribd.com/audiobooks","name":"Audiobooks","type":"audiobook"},"magazine":{"icon":"icon-ic_magazine","icon_filled":"icon-ic_magazine_fill","url":"https://www.scribd.com/magazines","name":"Magazines","type":"magazine"},"document":{"icon":"icon-ic_document","icon_filled":"icon-ic_document_fill","url":"https://www.scribd.com/docs","name":"Documents","type":"document"},"sheet_music":{"icon":"icon-ic_songbook","icon_filled":"icon-ic_songbook_fill","url":"https://www.scribd.com/sheetmusic","name":"Sheet Music","type":"sheet_music"},"summary":{"icon":"icon-ic_globalnav_snapshot","icon_filled":"icon-ic_globalnav_snapshot_fill","url":"https://www.scribd.com/snapshots","name":"Snapshots","type":"summary"}},"nav_categories":["mixed","book","audiobook","magazine","document","sheet_music"],"selected_content_type":"mixed","username":"","search_overlay_props":{"search_input_props":{"focused":false,"keep_suggestions_on_blur":false}}}},"recommenders":{"related_titles_recommender":{"ids":[40736747,86174691,296547721,255773295,141896365,355536196,313523723,19381092,36779815,248506319,266660538,109680035,61309423,59941121,9773575,230469745,277907609,118339076,54118193,358588670,374423185,299747218,89361856,144643898,46083387,251593858,47431609,89034426,160853204,374305987,244157917,212863738,253264900,239488191,263504218,282766939,163646054,224419023,224258670,224369806,238704340,224355300,225916486,293461549,224410295,211302755,202691564,239588474,182553141,234028503,224326250,224426877,224349281,337536061,249309502,254039238,182565115,224306619,273440534,273582508,182546874,249308781,224285255,224252178,250006950,235583696,231689346,224248577,224270540,163580087,235411767,224248520,163564256,249308236,246897514,182560283,163579056,163647832,163603389,216442529,182522032,224266633,224420008],"title_link":null,"title":null,"track_opts":{"compilation_id":"d+hqMMs8Y62DBRGolAwUR21FfAo=","module_id":"ilZhMghzTrJ//1vtbh8z7CnbOzM=","widget_name":"right sidebar","track_id":"flattened_recommender"}},"footer_recommenders":{"recommenders":[{"ids":[40736747,86174691,296547721,255773295,141896365,355536196,313523723,19381092,36779815,248506319,266660538,109680035,61309423,59941121,9773575,230469745,277907609,118339076,54118193,358588670,374423185,299747218,89361856,144643898,46083387,251593858,47431609,89034426,160853204,374305987],"title_link":null,"title":"Documents Similar To ME104-2L Introduction to the AutoCAD MEP .NET API","track_opts":{"compilation_id":"d+hqMMs8Y62DBRGolAwUR21FfAo=","module_id":"vXr9hScx7uEHql8F7Qt0OsxcYK0=","widget_name":"document_carousel"}}]},"seo_new_docs_recommenders":{"recommenders":[]},"documents":{"9773575":{"type":"document","id":9773575,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/9773575/149x198/f99a593f79/1369807803?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/9773575/298x396/7722cb80d0/1369807803?v=1","title":"Autocad 101 Survival Course Beginners","short_title":"Autocad 101 Survival Course Beginners","author":"Budega","tracking":{"object_type":"document","object_id":9773575,"track":"flattened_recommender","doc_uuid":"ZuCLay4vVkGYTUUb7IUqwy5An04="},"url":"https://www.scribd.com/doc/9773575/Autocad-101-Survival-Course-Beginners","top_badge":null},"19381092":{"type":"document","id":19381092,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/19381092/149x198/fccfe17112/1521896436?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/19381092/298x396/23dab0a2d1/1521896436?v=1","title":"AutoCAD .NET Developers Guide","short_title":"AutoCAD .NET Developers Guide","author":"tyke","tracking":{"object_type":"document","object_id":19381092,"track":"flattened_recommender","doc_uuid":"z7WWJPDhZGeWZa1MZenpCMD9/1E="},"url":"https://www.scribd.com/doc/19381092/AutoCAD-NET-Developers-Guide","top_badge":null},"36779815":{"type":"document","id":36779815,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/36779815/149x198/e00554eb89/1364393945?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/36779815/298x396/8a5c31ebc0/1364393945?v=1","title":"Autocad.net.Vs2008.3","short_title":"Autocad.net.Vs2008.3","author":"DeryckAzeredo","tracking":{"object_type":"document","object_id":36779815,"track":"flattened_recommender","doc_uuid":"BusRYteXhvDOrdwPXZxlGEvHZDs="},"url":"https://www.scribd.com/presentation/36779815/Autocad-net-Vs2008-3","top_badge":null},"40736747":{"type":"document","id":40736747,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/40736747/149x198/0e3d97a4b9/1506798301?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/40736747/298x396/a251aeba13/1506798301?v=1","title":"AutoCAD® .NET Basics, Part I","short_title":"AutoCAD® .NET Basics, Part I","author":"okhvatstas","tracking":{"object_type":"document","object_id":40736747,"track":"flattened_recommender","doc_uuid":"zCu2Nu2VmUFxytiD9bBCQ5gqMS8="},"url":"https://www.scribd.com/document/40736747/AutoCAD-NET-Basics-Part-I","top_badge":null},"46083387":{"type":"document","id":46083387,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/46083387/149x198/fbd896a662/1389607368?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/46083387/298x396/55351c15ce/1389607368?v=1","title":"a0229-Tucker Sno-cat Us v10","short_title":"a0229-Tucker Sno-cat Us v10","author":"cosmowalker","tracking":{"object_type":"document","object_id":46083387,"track":"flattened_recommender","doc_uuid":"RbkyMG0YhnwNEo3gpsuk3T0/vOQ="},"url":"https://www.scribd.com/document/46083387/a0229-Tucker-Sno-cat-Us-v10","top_badge":null},"47431609":{"type":"document","id":47431609,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/47431609/149x198/98e1af0c58/1352025097?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/47431609/298x396/68366f6670/1352025097?v=1","title":"CADCAM-C1","short_title":"CADCAM-C1","author":"Mr Mickey","tracking":{"object_type":"document","object_id":47431609,"track":"flattened_recommender","doc_uuid":"Qq+ZWFHm+eUk2dsvGNFi1pVLcgI="},"url":"https://www.scribd.com/document/47431609/CADCAM-C1","top_badge":null},"54118193":{"type":"document","id":54118193,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/54118193/149x198/9d826a0fd2/1369613420?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/54118193/298x396/a32b82116b/1369613420?v=1","title":"How the Professional Practice and the Architecture Education","short_title":"How the Professional Practice and the Architecture Education","author":"Şule Topçuoğlu Güler","tracking":{"object_type":"document","object_id":54118193,"track":"flattened_recommender","doc_uuid":"n60ZgyQ2N05mLmuQRKR790x1aXU="},"url":"https://www.scribd.com/document/54118193/How-the-Professional-Practice-and-the-Architecture-Education","top_badge":null},"59941121":{"type":"document","id":59941121,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/59941121/149x198/a79b7bcfce/1358897825?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/59941121/298x396/b1a2fbe359/1358897825?v=1","title":"Autodesk Inventor 2012 Hands-On Test-Drive_US_Letter_Version","short_title":"Autodesk Inventor 2012 Hands-On Test-Drive_US_Letter_Version","author":"Val Dimla","tracking":{"object_type":"document","object_id":59941121,"track":"flattened_recommender","doc_uuid":"eLn5AiMexsagkdRv8wivdktFceg="},"url":"https://www.scribd.com/document/59941121/Autodesk-Inventor-2012-Hands-On-Test-Drive-US-Letter-Version","top_badge":null},"61309423":{"type":"document","id":61309423,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/61309423/149x198/229c593e81/1522592887?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/61309423/298x396/7f825cedaa/1522592887?v=1","title":"AutoCAD Making VB.net as Easy as VBA","short_title":"AutoCAD Making VB.net as Easy as VBA","author":"Elsje Saether","tracking":{"object_type":"document","object_id":61309423,"track":"flattened_recommender","doc_uuid":"QBv5hqGzj55/BGOSt1pF+a+dgJs="},"url":"https://www.scribd.com/document/61309423/AutoCAD-Making-VB-net-as-Easy-as-VBA","top_badge":null},"86174691":{"type":"document","id":86174691,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/86174691/149x198/e02eda3cb8/1373464723?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/86174691/298x396/d392ae8bd8/1373464723?v=1","title":"AutoCAD .NET Training","short_title":"AutoCAD .NET Training","author":"Aniket Dandage","tracking":{"object_type":"document","object_id":86174691,"track":"flattened_recommender","doc_uuid":"dX5+XYtjKXtG4hTXj0HRXKYEWOw="},"url":"https://www.scribd.com/presentation/86174691/AutoCAD-NET-Training","top_badge":null},"89034426":{"type":"document","id":89034426,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/89034426/149x198/560dca2c3b/1334230291?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/89034426/298x396/0d298f03e6/1334230291?v=1","title":"AutoCAD 2000 Commands","short_title":"AutoCAD 2000 Commands","author":"vasanthsprofile1","tracking":{"object_type":"document","object_id":89034426,"track":"flattened_recommender","doc_uuid":"yS1afAl7hnu8Im63R2F4vndLnks="},"url":"https://www.scribd.com/document/89034426/AutoCAD-2000-Commands","top_badge":null},"89361856":{"type":"document","id":89361856,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/89361856/149x198/7074ab1575/1353748163?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/89361856/298x396/4263104355/1353748163?v=1","title":"Resume","short_title":"Resume","author":"Shivram Popalghat","tracking":{"object_type":"document","object_id":89361856,"track":"flattened_recommender","doc_uuid":"zaro299rJjm7zDf4SSeae9279AU="},"url":"https://www.scribd.com/document/89361856/Resume","top_badge":null},"109680035":{"type":"document","id":109680035,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/109680035/149x198/6d8f55e1e0/1408496815?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/109680035/298x396/9b27a6bbb0/1408496815?v=1","title":"AutoCAD .NET Developer's Guide","short_title":"AutoCAD .NET Developer's Guide","author":"hrast117","tracking":{"object_type":"document","object_id":109680035,"track":"flattened_recommender","doc_uuid":"TTmrWwF2m06LJzFHigzP2wx0x9E="},"url":"https://www.scribd.com/document/109680035/AutoCAD-NET-Developer-s-Guide","top_badge":null},"118339076":{"type":"document","id":118339076,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/118339076/149x198/a514a9e694/1356811280?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/118339076/298x396/8fa38f0186/1356811280?v=1","title":"bricscadV13for autoCad en US.pdf","short_title":"bricscadV13for autoCad en US.pdf","author":"Norberto Acosta Elias","tracking":{"object_type":"document","object_id":118339076,"track":"flattened_recommender","doc_uuid":"e8ht0CAB9nt+R/5oBlxByrH9mAw="},"url":"https://www.scribd.com/document/118339076/bricscadV13for-autoCad-en-US-pdf","top_badge":null},"141896365":{"type":"document","id":141896365,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/141896365/149x198/db7c8347b5/1378084955?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/141896365/298x396/5cb7660ace/1378084955?v=1","title":"Auto Cad 2014 Preview Guide","short_title":"Auto Cad 2014 Preview Guide","author":"tuantomato","tracking":{"object_type":"document","object_id":141896365,"track":"flattened_recommender","doc_uuid":"mK8pariro+Hct3B12GpPgqtCc9A="},"url":"https://www.scribd.com/document/141896365/Auto-Cad-2014-Preview-Guide","top_badge":null},"144643898":{"type":"document","id":144643898,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/144643898/149x198/2760ff23a3/1369917606?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/144643898/298x396/7f8d127fba/1369917606?v=1","title":"NEW AutoCAD Performance Tips","short_title":"NEW AutoCAD Performance Tips","author":"Bernard Owusu","tracking":{"object_type":"document","object_id":144643898,"track":"flattened_recommender","doc_uuid":"cvNLIpzMptj6JWhUUCPTFIS+tqw="},"url":"https://www.scribd.com/document/144643898/NEW-AutoCAD-Performance-Tips","top_badge":null},"160853204":{"type":"document","id":160853204,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/160853204/149x198/fbebedb052/1376707788?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/160853204/298x396/29092a6221/1376707788?v=1","title":"AutoCAD","short_title":"AutoCAD","author":"Ubaid Bahussain","tracking":{"object_type":"document","object_id":160853204,"track":"flattened_recommender","doc_uuid":"GbvBaeMNnPTZR/+2wFjtJrgGXeU="},"url":"https://www.scribd.com/presentation/160853204/AutoCAD","top_badge":null},"163564256":{"type":"book","id":163564256,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163564256/149x198/4d140b8606/1540023305?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/163564256/298x396/3f016be665/1540023305?v=1","title":"Beautiful Ruins: A Novel","short_title":"Beautiful Ruins","author":"Jess Walter","tracking":{"object_type":"document","object_id":163564256,"track":"flattened_recommender","doc_uuid":"78sRrhzQWXplExoK+cRB+m8w2QA="},"url":"https://www.scribd.com/book/163564256/Beautiful-Ruins-A-Novel","top_badge":null},"163579056":{"type":"book","id":163579056,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163579056/149x198/e3ae8b9345/1540029072?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/163579056/298x396/c599e1583f/1540029072?v=1","title":"The Art of Racing in the Rain: A Novel","short_title":"The Art of Racing in the Rain","author":"Garth Stein","tracking":{"object_type":"document","object_id":163579056,"track":"flattened_recommender","doc_uuid":"q3NePTeKi6oj9nyZSq8c4pm1BRo="},"url":"https://www.scribd.com/book/163579056/The-Art-of-Racing-in-the-Rain-A-Novel","top_badge":null},"163580087":{"type":"book","id":163580087,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/163580087/149x198/df75726300/1540030082?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163580087/298x396/012861be61/1540030082?v=1","title":"Bel Canto","short_title":"Bel Canto","author":"Ann Patchett","tracking":{"object_type":"document","object_id":163580087,"track":"flattened_recommender","doc_uuid":"T88JzqtgxI8OogDhinSZ8xzP3K4="},"url":"https://www.scribd.com/book/163580087/Bel-Canto","top_badge":null},"163603389":{"type":"book","id":163603389,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163603389/149x198/7c1ceeb759/1540034790?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163603389/298x396/2c8c5e4da3/1540034790?v=1","title":"A Prayer for Owen Meany: A Novel","short_title":"A Prayer for Owen Meany","author":"John Irving","tracking":{"object_type":"document","object_id":163603389,"track":"flattened_recommender","doc_uuid":"ayelKpaxCVDBmQH6iFkg68PcUdc="},"url":"https://www.scribd.com/book/163603389/A-Prayer-for-Owen-Meany-A-Novel","top_badge":null},"163646054":{"type":"book","id":163646054,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/163646054/149x198/73d89ab0b4/1540022817?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163646054/298x396/92feb6c9c7/1540022817?v=1","title":"Devil in the Grove: Thurgood Marshall, the Groveland Boys, and the Dawn of a New America","short_title":"Devil in the Grove","author":"Gilbert King","tracking":{"object_type":"document","object_id":163646054,"track":"flattened_recommender","doc_uuid":"zp+/twpxsieEp0elXeqQkUN1V7U="},"url":"https://www.scribd.com/book/163646054/Devil-in-the-Grove-Thurgood-Marshall-the-Groveland-Boys-and-the-Dawn-of-a-New-America","top_badge":null},"163647832":{"type":"book","id":163647832,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/163647832/149x198/974fcd39b2/1540022140?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/163647832/298x396/58f221bfa6/1540022140?v=1","title":"The Cider House Rules","short_title":"The Cider House Rules","author":"John Irving","tracking":{"object_type":"document","object_id":163647832,"track":"flattened_recommender","doc_uuid":"CwHjfOFAZ9mLu27WZtsWDi3lI/g="},"url":"https://www.scribd.com/book/163647832/The-Cider-House-Rules","top_badge":null},"182522032":{"type":"book","id":182522032,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/182522032/149x198/e1b9e42cb5/1540023014?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/182522032/298x396/ddcc62ae69/1540023014?v=1","title":"The Bonfire of the Vanities: A Novel","short_title":"The Bonfire of the Vanities","author":"Tom Wolfe","tracking":{"object_type":"document","object_id":182522032,"track":"flattened_recommender","doc_uuid":"CCtZHVpKxV7PAGyvEP9glbDHbW8="},"url":"https://www.scribd.com/book/182522032/The-Bonfire-of-the-Vanities-A-Novel","top_badge":null},"182546874":{"type":"book","id":182546874,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/182546874/149x198/f82b3526b2/1540029994?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/182546874/298x396/8079e74998/1540029994?v=1","title":"The Love Affairs of Nathaniel P.: A Novel","short_title":"The Love Affairs of Nathaniel P.","author":"Adelle Waldman","tracking":{"object_type":"document","object_id":182546874,"track":"flattened_recommender","doc_uuid":"Rmm5zt6H2YPkhcuxaBoRjdUjQoE="},"url":"https://www.scribd.com/book/182546874/The-Love-Affairs-of-Nathaniel-P-A-Novel","top_badge":null},"182553141":{"type":"book","id":182553141,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/182553141/149x198/9d8b4953ee/1540029399?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/182553141/298x396/89521cc859/1540029399?v=1","title":"The World Is Flat 3.0: A Brief History of the Twenty-first Century","short_title":"The World Is Flat 3.0","author":"Thomas L. Friedman","tracking":{"object_type":"document","object_id":182553141,"track":"flattened_recommender","doc_uuid":"e7mmwzz0S5LnzwRZSjQ5TFkMvEc="},"url":"https://www.scribd.com/book/182553141/The-World-Is-Flat-3-0-A-Brief-History-of-the-Twenty-first-Century","top_badge":null},"182560283":{"type":"book","id":182560283,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/182560283/149x198/0601b1931c/1540026915?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/182560283/298x396/f6a21d4103/1540026915?v=1","title":"Wolf Hall: A Novel","short_title":"Wolf Hall","author":"Hilary Mantel","tracking":{"object_type":"document","object_id":182560283,"track":"flattened_recommender","doc_uuid":"8qswpkIvYhRCehLylHAfVvG/JJ0="},"url":"https://www.scribd.com/book/182560283/Wolf-Hall-A-Novel","top_badge":null},"182565115":{"type":"book","id":182565115,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/182565115/149x198/825ad48fb6/1540028380?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/182565115/298x396/e6af4ca8dd/1540028380?v=1","title":"The Silver Linings Playbook: A Novel","short_title":"The Silver Linings Playbook","author":"Matthew Quick","tracking":{"object_type":"document","object_id":182565115,"track":"flattened_recommender","doc_uuid":"Vqalj0xP2pVUM2XFmreXkXoc24I="},"url":"https://www.scribd.com/book/182565115/The-Silver-Linings-Playbook-A-Novel","top_badge":null},"202691564":{"type":"book","id":202691564,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/202691564/149x198/de3999cc66/1540032330?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/202691564/298x396/0ba4b4666c/1540032330?v=1","title":"Smart People Should Build Things: How to Restore Our Culture of Achievement, Build a Path for Entrepreneurs, and Create New Jobs in America","short_title":"Smart People Should Build Things","author":"Andrew Yang","tracking":{"object_type":"document","object_id":202691564,"track":"flattened_recommender","doc_uuid":"XrVTZGr87une45r6tKc9oPns3e4="},"url":"https://www.scribd.com/book/202691564/Smart-People-Should-Build-Things-How-to-Restore-Our-Culture-of-Achievement-Build-a-Path-for-Entrepreneurs-and-Create-New-Jobs-in-America","top_badge":null},"211302755":{"type":"book","id":211302755,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/211302755/149x198/e130bab094/1540032834?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/211302755/298x396/19f10ceb3f/1540032834?v=1","title":"The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers","short_title":"The Hard Thing About Hard Things","author":"Ben Horowitz","tracking":{"object_type":"document","object_id":211302755,"track":"flattened_recommender","doc_uuid":"CXx0/5BbtsrovgnDZR/nMOtjea4="},"url":"https://www.scribd.com/book/211302755/The-Hard-Thing-About-Hard-Things-Building-a-Business-When-There-Are-No-Easy-Answers","top_badge":null},"212863738":{"type":"book","id":212863738,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/212863738/149x198/486257e90d/1540030711?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/212863738/298x396/40684a0550/1540030711?v=1","title":"The Unwinding: An Inner History of the New America","short_title":"The Unwinding","author":"George Packer","tracking":{"object_type":"document","object_id":212863738,"track":"flattened_recommender","doc_uuid":"s12sUTIXLLpMZmV0XVgRdsmrGE0="},"url":"https://www.scribd.com/book/212863738/The-Unwinding-An-Inner-History-of-the-New-America","top_badge":null},"216442529":{"type":"book","id":216442529,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/216442529/149x198/e28b506e87/1540023804?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/216442529/298x396/716aaad647/1540023804?v=1","title":"Lovers at the Chameleon Club, Paris 1932: A Novel","short_title":"Lovers at the Chameleon Club, Paris 1932","author":"Francine Prose","tracking":{"object_type":"document","object_id":216442529,"track":"flattened_recommender","doc_uuid":"8gluUw6h1CLz2i4OhA8fOoDT4oc="},"url":"https://www.scribd.com/book/216442529/Lovers-at-the-Chameleon-Club-Paris-1932-A-Novel","top_badge":null},"224248520":{"type":"book","id":224248520,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224248520/149x198/0427bca488/1540034025?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224248520/298x396/505053db71/1540034025?v=1","title":"The Kitchen House: A Novel","short_title":"The Kitchen House","author":"Kathleen Grissom","tracking":{"object_type":"document","object_id":224248520,"track":"flattened_recommender","doc_uuid":"87Sj72hgaeiI1HpYa4O5cGzbeBU="},"url":"https://www.scribd.com/book/224248520/The-Kitchen-House-A-Novel","top_badge":null},"224248577":{"type":"book","id":224248577,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224248577/149x198/97fab15653/1540019689?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224248577/298x396/35883a5fcb/1540019689?v=1","title":"The Rosie Project: A Novel","short_title":"The Rosie Project","author":"Graeme Simsion","tracking":{"object_type":"document","object_id":224248577,"track":"flattened_recommender","doc_uuid":"6qjWvD9i5b5DTuA8d1giEieD000="},"url":"https://www.scribd.com/book/224248577/The-Rosie-Project-A-Novel","top_badge":null},"224252178":{"type":"book","id":224252178,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224252178/149x198/77a859fdd8/1540025854?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224252178/298x396/dfbec9e04b/1540025854?v=1","title":"Brooklyn: A Novel","short_title":"Brooklyn","author":"Colm Tóibín","tracking":{"object_type":"document","object_id":224252178,"track":"flattened_recommender","doc_uuid":"s/8Gox+l4fcb2jY6U9uzIyULWUQ="},"url":"https://www.scribd.com/book/224252178/Brooklyn-A-Novel","top_badge":null},"224258670":{"type":"book","id":224258670,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224258670/149x198/b2ee6fe90c/1540036976?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224258670/298x396/eb9e673a3c/1540036976?v=1","title":"The Prize: The Epic Quest for Oil, Money & Power","short_title":"The Prize","author":"Daniel Yergin","tracking":{"object_type":"document","object_id":224258670,"track":"flattened_recommender","doc_uuid":"UGhO77jZJZfjjhp54eyxzvkLohI="},"url":"https://www.scribd.com/book/224258670/The-Prize-The-Epic-Quest-for-Oil-Money-Power","top_badge":null},"224266633":{"type":"book","id":224266633,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224266633/149x198/196f9b9902/1540037449?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224266633/298x396/c65dbae83f/1540037449?v=1","title":"The Perks of Being a Wallflower","short_title":"The Perks of Being a Wallflower","author":"Stephen Chbosky","tracking":{"object_type":"document","object_id":224266633,"track":"flattened_recommender","doc_uuid":"Hjf7rl9INB8vVP36LIPWe7cHiec="},"url":"https://www.scribd.com/book/224266633/The-Perks-of-Being-a-Wallflower","top_badge":null},"224270540":{"type":"book","id":224270540,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224270540/149x198/246ef7879c/1540036239?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224270540/298x396/b9d115f691/1540036239?v=1","title":"The Master","short_title":"The Master","author":"Colm Tóibín","tracking":{"object_type":"document","object_id":224270540,"track":"flattened_recommender","doc_uuid":"mowRUphm5jqckJSmSrQgmfBXwvQ="},"url":"https://www.scribd.com/book/224270540/The-Master","top_badge":null},"224285255":{"type":"book","id":224285255,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224285255/149x198/a61ed79e9b/1540019902?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224285255/298x396/a6488a57c8/1540019902?v=1","title":"The Flamethrowers: A Novel","short_title":"The Flamethrowers","author":"Rachel Kushner","tracking":{"object_type":"document","object_id":224285255,"track":"flattened_recommender","doc_uuid":"e1JWuoqkqq3qkiQQDQaDDN2BMXk="},"url":"https://www.scribd.com/book/224285255/The-Flamethrowers-A-Novel","top_badge":null},"224306619":{"type":"book","id":224306619,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224306619/149x198/5a300f585d/1540033520?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224306619/298x396/21c3e990fc/1540033520?v=1","title":"The Light Between Oceans: A Novel","short_title":"The Light Between Oceans","author":"M.L. Stedman","tracking":{"object_type":"document","object_id":224306619,"track":"flattened_recommender","doc_uuid":"IZcDgxDeTkUqeoqlXP151ls3ZIE="},"url":"https://www.scribd.com/book/224306619/The-Light-Between-Oceans-A-Novel","top_badge":null},"224326250":{"type":"book","id":224326250,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224326250/149x198/f1e7bf86b3/1540030275?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224326250/298x396/67d6eee06a/1540030275?v=1","title":"Steve Jobs","short_title":"Steve Jobs","author":"Walter Isaacson","tracking":{"object_type":"document","object_id":224326250,"track":"flattened_recommender","doc_uuid":"IneKV7TEUVBM1P8iff1uZLYE1o0="},"url":"https://www.scribd.com/book/224326250/Steve-Jobs","top_badge":null},"224349281":{"type":"book","id":224349281,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224349281/149x198/c8e6142eca/1540038918?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224349281/298x396/121ea6d44a/1540038918?v=1","title":"How To Win Friends and Influence People","short_title":"How To Win Friends and Influence People","author":"Dale Carnegie","tracking":{"object_type":"document","object_id":224349281,"track":"flattened_recommender","doc_uuid":"zxkfJ1h/8YaUE5ZZG/7qQcW8Mmc="},"url":"https://www.scribd.com/book/224349281/How-To-Win-Friends-and-Influence-People","top_badge":null},"224355300":{"type":"book","id":224355300,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224355300/149x198/e0393734b6/1540026566?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224355300/298x396/fac4cdb725/1540026566?v=1","title":"Grand Pursuit: The Story of Economic Genius","short_title":"Grand Pursuit","author":"Sylvia Nasar","tracking":{"object_type":"document","object_id":224355300,"track":"flattened_recommender","doc_uuid":"AtfZ3L+t74m8Hr+e/E0PqX4igNY="},"url":"https://www.scribd.com/book/224355300/Grand-Pursuit-The-Story-of-Economic-Genius","top_badge":null},"224369806":{"type":"book","id":224369806,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224369806/149x198/d2fc5923b8/1540026821?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224369806/298x396/a026add765/1540026821?v=1","title":"The Emperor of All Maladies: A Biography of Cancer","short_title":"The Emperor of All Maladies","author":"Siddhartha Mukherjee","tracking":{"object_type":"document","object_id":224369806,"track":"flattened_recommender","doc_uuid":"/6sSAVlj/G0wx/5QN4/hxHNrmpo="},"url":"https://www.scribd.com/book/224369806/The-Emperor-of-All-Maladies-A-Biography-of-Cancer","top_badge":null},"224410295":{"type":"book","id":224410295,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224410295/149x198/5f74dd59cd/1540026621?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224410295/298x396/58644b8626/1540026621?v=1","title":"Team of Rivals: The Political Genius of Abraham Lincoln","short_title":"Team of Rivals","author":"Doris Kearns Goodwin","tracking":{"object_type":"document","object_id":224410295,"track":"flattened_recommender","doc_uuid":"ZImc2TF97FmXdP90VuQ0TDKtAFc="},"url":"https://www.scribd.com/book/224410295/Team-of-Rivals-The-Political-Genius-of-Abraham-Lincoln","top_badge":null},"224419023":{"type":"book","id":224419023,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224419023/149x198/7e946216e0/1540026539?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224419023/298x396/08758c4819/1540026539?v=1","title":"John Adams","short_title":"John Adams","author":"David McCullough","tracking":{"object_type":"document","object_id":224419023,"track":"flattened_recommender","doc_uuid":"k9uACsk0MCI64o1K82DWNsw4rpc="},"url":"https://www.scribd.com/book/224419023/John-Adams","top_badge":null},"224420008":{"type":"book","id":224420008,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224420008/149x198/7a7e91eff2/1540023438?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224420008/298x396/7fdc43e330/1540023438?v=1","title":"The Constant Gardener: A Novel","short_title":"The Constant Gardener","author":"John le Carré","tracking":{"object_type":"document","object_id":224420008,"track":"flattened_recommender","doc_uuid":"mkZz7d9YDaPb+qaANm+Si6w8YJA="},"url":"https://www.scribd.com/book/224420008/The-Constant-Gardener-A-Novel","top_badge":null},"224426877":{"type":"book","id":224426877,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/224426877/149x198/67b53f7428/1540023833?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/224426877/298x396/61c4862b68/1540023833?v=1","title":"Angela's Ashes: A Memoir","short_title":"Angela's Ashes","author":"Frank McCourt","tracking":{"object_type":"document","object_id":224426877,"track":"flattened_recommender","doc_uuid":"19Mn6zXCA0Z1+KivGtDDWSP/tyY="},"url":"https://www.scribd.com/book/224426877/Angela-s-Ashes-A-Memoir","top_badge":null},"225916486":{"type":"book","id":225916486,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/225916486/149x198/ceefd53ff2/1540029734?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/225916486/298x396/3fda0d41f4/1540029734?v=1","title":"A Heartbreaking Work Of Staggering Genius: A Memoir Based on a True Story","short_title":"A Heartbreaking Work Of Staggering Genius","author":"Dave Eggers","tracking":{"object_type":"document","object_id":225916486,"track":"flattened_recommender","doc_uuid":"UjoosbNEOMRWnEGYDjQUyPchVP0="},"url":"https://www.scribd.com/book/225916486/A-Heartbreaking-Work-Of-Staggering-Genius-A-Memoir-Based-on-a-True-Story","top_badge":null},"230469745":{"type":"document","id":230469745,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/230469745/149x198/24cc61e56d/1403204399?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/230469745/298x396/c5ab5d00a6/1403204399?v=1","title":"ACad2014P7","short_title":"ACad2014P7","author":"abdussubhan_khan","tracking":{"object_type":"document","object_id":230469745,"track":"flattened_recommender","doc_uuid":"GiKV57k+pNKbgx1NoAfWCuX0r+w="},"url":"https://www.scribd.com/document/230469745/ACad2014P7","top_badge":null},"231689346":{"type":"book","id":231689346,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/231689346/149x198/8820ffce2e/1540019878?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/231689346/298x396/8022aee462/1540019878?v=1","title":"The Blazing World: A Novel","short_title":"The Blazing World","author":"Siri Hustvedt","tracking":{"object_type":"document","object_id":231689346,"track":"flattened_recommender","doc_uuid":"vQ/Yig5TlZlQ2Mk2FbfAubI0KTw="},"url":"https://www.scribd.com/book/231689346/The-Blazing-World-A-Novel","top_badge":null},"234028503":{"type":"book","id":234028503,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/234028503/149x198/600d1fe3f9/1540032369?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/234028503/298x396/1455400f40/1540032369?v=1","title":"Bad Feminist: Essays","short_title":"Bad Feminist","author":"Roxane Gay","tracking":{"object_type":"document","object_id":234028503,"track":"flattened_recommender","doc_uuid":"xXFDsFPZHn8owLjs0ttutriRd8M="},"url":"https://www.scribd.com/book/234028503/Bad-Feminist-Essays","top_badge":null},"235411767":{"type":"book","id":235411767,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/235411767/149x198/ce356815f8/1540055094?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/235411767/298x396/a289a2fc2a/1540055094?v=1","title":"A Man Called Ove: A Novel","short_title":"A Man Called Ove","author":"Fredrik Backman","tracking":{"object_type":"document","object_id":235411767,"track":"flattened_recommender","doc_uuid":"p2+tVuC/Oa/vrwFGyMYG9mM+mJ0="},"url":"https://www.scribd.com/book/235411767/A-Man-Called-Ove-A-Novel","top_badge":null},"235583696":{"type":"book","id":235583696,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/235583696/149x198/29700e772d/1540033118?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/235583696/298x396/46800f01c6/1540033118?v=1","title":"We Are Not Ourselves: A Novel","short_title":"We Are Not Ourselves","author":"Matthew Thomas","tracking":{"object_type":"document","object_id":235583696,"track":"flattened_recommender","doc_uuid":"7H+lnwj52m/+vwl8u6JosxOHfjw="},"url":"https://www.scribd.com/book/235583696/We-Are-Not-Ourselves-A-Novel","top_badge":null},"238704340":{"type":"book","id":238704340,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/238704340/149x198/58ed32b584/1540029094?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/238704340/298x396/d84f33deab/1540029094?v=1","title":"This Changes Everything: Capitalism vs. The Climate","short_title":"This Changes Everything","author":"Naomi Klein","tracking":{"object_type":"document","object_id":238704340,"track":"flattened_recommender","doc_uuid":"gVqOCucxyy5yz+mzmnUOg8a3Dvs="},"url":"https://www.scribd.com/book/238704340/This-Changes-Everything-Capitalism-vs-The-Climate","top_badge":null},"239488191":{"type":"book","id":239488191,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/239488191/149x198/7381d3ba45/1540023655?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/239488191/298x396/891d3f4926/1540023655?v=1","title":"The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution","short_title":"The Innovators","author":"Walter Isaacson","tracking":{"object_type":"document","object_id":239488191,"track":"flattened_recommender","doc_uuid":"1V1Mw6VNi2cnO3zei3usdP33g7s="},"url":"https://www.scribd.com/book/239488191/The-Innovators-How-a-Group-of-Hackers-Geniuses-and-Geeks-Created-the-Digital-Revolution","top_badge":null},"239588474":{"type":"book","id":239588474,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/239588474/149x198/8a4150948e/1540033369?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/239588474/298x396/644cc7285e/1540033369?v=1","title":"Rise of ISIS: A Threat We Can't Ignore","short_title":"Rise of ISIS","author":"Jay Sekulow","tracking":{"object_type":"document","object_id":239588474,"track":"flattened_recommender","doc_uuid":"IwUC0kbEWTxBMhyVKhv9ZWH0YZU="},"url":"https://www.scribd.com/book/239588474/Rise-of-ISIS-A-Threat-We-Can-t-Ignore","top_badge":null},"244157917":{"type":"book","id":244157917,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/244157917/149x198/ce51d31665/1540024130?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/244157917/298x396/d0cbd421a3/1540024130?v=1","title":"Yes Please","short_title":"Yes Please","author":"Amy Poehler","tracking":{"object_type":"document","object_id":244157917,"track":"flattened_recommender","doc_uuid":"8/L0FGb5H5THSbSq2Q1DScfr56U="},"url":"https://www.scribd.com/book/244157917/Yes-Please","top_badge":null},"246897514":{"type":"book","id":246897514,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/246897514/149x198/9d722fcc90/1540034872?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/246897514/298x396/2244bff6fc/1540034872?v=1","title":"The Wallcreeper","short_title":"The Wallcreeper","author":"Nell Zink","tracking":{"object_type":"document","object_id":246897514,"track":"flattened_recommender","doc_uuid":"rFi65Ze9/UAfFv0Xhxs+Jxnw8zs="},"url":"https://www.scribd.com/book/246897514/The-Wallcreeper","top_badge":null},"248506319":{"type":"document","id":248506319,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/248506319/149x198/223a2051a8/1431103454?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/248506319/298x396/b1e41794f9/1431103454?v=1","title":"EKKO Project","short_title":"EKKO Project","author":"Geofisica GusZav","tracking":{"object_type":"document","object_id":248506319,"track":"flattened_recommender","doc_uuid":"LmwgSEYBEzG3mJGSrXea8aoohhg="},"url":"https://www.scribd.com/document/248506319/EKKO-Project","top_badge":null},"249308236":{"type":"book","id":249308236,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/249308236/149x198/345de5ca38/1540055237?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/249308236/298x396/4e9d2e54be/1540055237?v=1","title":"Interpreter of Maladies","short_title":"Interpreter of Maladies","author":"Jhumpa Lahiri","tracking":{"object_type":"document","object_id":249308236,"track":"flattened_recommender","doc_uuid":"MN01EqXBwIjo1A/A3X0GHiPlzCE="},"url":"https://www.scribd.com/book/249308236/Interpreter-of-Maladies","top_badge":null},"249308781":{"type":"book","id":249308781,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/249308781/149x198/44cce4d99a/1540055357?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/249308781/298x396/3fb7c9a745/1540055357?v=1","title":"Life of Pi","short_title":"Life of Pi","author":"Yann Martel","tracking":{"object_type":"document","object_id":249308781,"track":"flattened_recommender","doc_uuid":"TbK5FMOHaPL4Ds0xmu8wngHsZng="},"url":"https://www.scribd.com/book/249308781/Life-of-Pi","top_badge":null},"249309502":{"type":"book","id":249309502,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/249309502/149x198/a536db5ae1/1540055368?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/249309502/298x396/aa0185412b/1540055368?v=1","title":"Extremely Loud and Incredibly Close: A Novel","short_title":"Extremely Loud and Incredibly Close","author":"Jonathan Safran Foer","tracking":{"object_type":"document","object_id":249309502,"track":"flattened_recommender","doc_uuid":"mi6ug6eog3NIjWHAeH8kRV3ad2g="},"url":"https://www.scribd.com/book/249309502/Extremely-Loud-and-Incredibly-Close-A-Novel","top_badge":null},"250006950":{"type":"book","id":250006950,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/250006950/149x198/dfc24938b6/1540024393?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/250006950/298x396/a7ea4fedc0/1540024393?v=1","title":"The First Bad Man: A Novel","short_title":"The First Bad Man","author":"Miranda July","tracking":{"object_type":"document","object_id":250006950,"track":"flattened_recommender","doc_uuid":"AWVXrkQuk1D5oC+IdLb2xsQbWfA="},"url":"https://www.scribd.com/book/250006950/The-First-Bad-Man-A-Novel","top_badge":null},"251593858":{"type":"document","id":251593858,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/251593858/149x198/bd4a9305df/1420313136?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/251593858/298x396/69ae7264e6/1420313136?v=1","title":"Draw Commands","short_title":"Draw Commands","author":"JaidenMinnaar","tracking":{"object_type":"document","object_id":251593858,"track":"flattened_recommender","doc_uuid":"2U3H4w1wiQADT0/aWC6+21wxd8w="},"url":"https://www.scribd.com/document/251593858/Draw-Commands","top_badge":null},"253264900":{"type":"book","id":253264900,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/253264900/149x198/5948645a35/1540033804?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/253264900/298x396/912824fccd/1540033804?v=1","title":"Sapiens: A Brief History of Humankind","short_title":"Sapiens","author":"Yuval Noah Harari","tracking":{"object_type":"document","object_id":253264900,"track":"flattened_recommender","doc_uuid":"uatwwlBfBtueOLuLZzIJacorixA="},"url":"https://www.scribd.com/book/253264900/Sapiens-A-Brief-History-of-Humankind","top_badge":null},"254039238":{"type":"book","id":254039238,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/254039238/149x198/278d17c7f4/1540029904?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/254039238/298x396/8e93835fcc/1540029904?v=1","title":"Leaving Berlin: A Novel","short_title":"Leaving Berlin","author":"Joseph Kanon","tracking":{"object_type":"document","object_id":254039238,"track":"flattened_recommender","doc_uuid":"nJiGjrIkp8C4MkQY2IB1YyB8jQM="},"url":"https://www.scribd.com/book/254039238/Leaving-Berlin-A-Novel","top_badge":null},"255773295":{"type":"document","id":255773295,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/255773295/149x198/e0efb11956/1424047125?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/255773295/298x396/3ab3728e24/1424047125?v=1","title":"Tutorials Building Me Ten u","short_title":"Tutorials Building Me Ten u","author":"Oscar Ivan Gomez Zuluaga","tracking":{"object_type":"document","object_id":255773295,"track":"flattened_recommender","doc_uuid":"ZwL/UxYQT18Xly1hMBQPEstrwUA="},"url":"https://www.scribd.com/document/255773295/Tutorials-Building-Me-Ten-u","top_badge":null},"263504218":{"type":"book","id":263504218,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/263504218/149x198/5791495c90/1540031117?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/263504218/298x396/ca05b40921/1540031117?v=1","title":"Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future","short_title":"Elon Musk","author":"Ashlee Vance","tracking":{"object_type":"document","object_id":263504218,"track":"flattened_recommender","doc_uuid":"KatYW4FFbDloaf66gscCWJQd80A="},"url":"https://www.scribd.com/book/263504218/Elon-Musk-Tesla-SpaceX-and-the-Quest-for-a-Fantastic-Future","top_badge":null},"266660538":{"type":"document","id":266660538,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/266660538/149x198/8c9304db67/1432656329?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/266660538/298x396/a47edfc2b6/1432656329?v=1","title":"AEC Magazine - 2008 May-June","short_title":"AEC Magazine - 2008 May-June","author":"Ricardo Leal","tracking":{"object_type":"document","object_id":266660538,"track":"flattened_recommender","doc_uuid":"cT4LG0kQrDkHIosJWUfUCX2V5ME="},"url":"https://www.scribd.com/document/266660538/AEC-Magazine-2008-May-June","top_badge":null},"273440534":{"type":"book","id":273440534,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/273440534/149x198/d972c41ea4/1540030975?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/273440534/298x396/79bdc35da6/1540030975?v=1","title":"The Incarnations: A Novel","short_title":"The Incarnations","author":"Susan Barker","tracking":{"object_type":"document","object_id":273440534,"track":"flattened_recommender","doc_uuid":"APcNQ2cloEFFn/n8Xz9BPXbf1Sc="},"url":"https://www.scribd.com/book/273440534/The-Incarnations-A-Novel","top_badge":null},"273582508":{"type":"book","id":273582508,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/273582508/149x198/1af6c958cc/1540027889?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/273582508/298x396/6f8ad65faa/1540027889?v=1","title":"You Too Can Have a Body Like Mine: A Novel","short_title":"You Too Can Have a Body Like Mine","author":"Alexandra Kleeman","tracking":{"object_type":"document","object_id":273582508,"track":"flattened_recommender","doc_uuid":"Ij5C2Bpe+Gl08537V1f9Wr3Q044="},"url":"https://www.scribd.com/book/273582508/You-Too-Can-Have-a-Body-Like-Mine-A-Novel","top_badge":null},"277907609":{"type":"document","id":277907609,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/277907609/149x198/ddec3afb02/1441239570?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/277907609/298x396/d51f5a4884/1441239570?v=1","title":"About Constructing Solids and Surfaces From 2D Geometry _ AutoCAD _ Autodesk Knowledge Network","short_title":"About Constructing Solids and Surfaces From 2D Geometry _ AutoCAD _ Autodesk Knowledge Network","author":"Shaival Jha","tracking":{"object_type":"document","object_id":277907609,"track":"flattened_recommender","doc_uuid":"hv0VMddSTWoYTN+0DwjgtFTvd30="},"url":"https://www.scribd.com/document/277907609/About-Constructing-Solids-and-Surfaces-From-2D-Geometry-AutoCAD-Autodesk-Knowledge-Network","top_badge":null},"282766939":{"type":"book","id":282766939,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/282766939/149x198/0fd38dc477/1540030952?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/282766939/298x396/ce234488d0/1540030952?v=1","title":"Dispatches from Pluto: Lost and Found in the Mississippi Delta","short_title":"Dispatches from Pluto","author":"Richard Grant","tracking":{"object_type":"document","object_id":282766939,"track":"flattened_recommender","doc_uuid":"diBIdc8uR/K4IlRgbF2SH93htMc="},"url":"https://www.scribd.com/book/282766939/Dispatches-from-Pluto-Lost-and-Found-in-the-Mississippi-Delta","top_badge":null},"293461549":{"type":"book","id":293461549,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/293461549/149x198/133f5a7fcd/1540027430?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/293461549/298x396/077cb2a3ef/1540027430?v=1","title":"The New Confessions of an Economic Hit Man","short_title":"The New Confessions of an Economic Hit Man","author":"John Perkins","tracking":{"object_type":"document","object_id":293461549,"track":"flattened_recommender","doc_uuid":"qLquEfmlVP3yTWHUAryUp9f/CuI="},"url":"https://www.scribd.com/book/293461549/The-New-Confessions-of-an-Economic-Hit-Man","top_badge":null},"296547721":{"type":"document","id":296547721,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/296547721/149x198/37af63bc9f/1453695388?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/296547721/298x396/c409f2f6b6/1453695388?v=1","title":"Autocad Qa","short_title":"Autocad Qa","author":"Santosh Rai","tracking":{"object_type":"document","object_id":296547721,"track":"flattened_recommender","doc_uuid":"5D1iVlyTcio9YuoJeUapm3+wgxg="},"url":"https://www.scribd.com/document/296547721/Autocad-Qa","top_badge":null},"299747218":{"type":"document","id":299747218,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299747218/149x198/f3dbc03cb2/1455875799?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/299747218/298x396/ad1910dad2/1455875799?v=1","title":"Adsk Gsg Acad2008","short_title":"Adsk Gsg Acad2008","author":"Lucian","tracking":{"object_type":"document","object_id":299747218,"track":"flattened_recommender","doc_uuid":"gp/ZFwYo/eqUbu1399Hz6moVPQY="},"url":"https://www.scribd.com/document/299747218/Adsk-Gsg-Acad2008","top_badge":null},"313523723":{"type":"document","id":313523723,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/313523723/149x198/d37126d26d/1463989118?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/313523723/298x396/0edf527ea8/1463989118?v=1","title":"Autodesk Infrastructure Design Suite 2015 System Requirements ","short_title":"Autodesk Infrastructure Design Suite 2015 System Requirements ","author":"ceewaii","tracking":{"object_type":"document","object_id":313523723,"track":"flattened_recommender","doc_uuid":"CuM440dDDTIk0pmRcE7a9wcvOHM="},"url":"https://www.scribd.com/document/313523723/Autodesk-Infrastructure-Design-Suite-2015-System-Requirements","top_badge":null},"337536061":{"type":"book","id":337536061,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/word_document/337536061/149x198/e0fabe3d5f/1540034676?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/word_document/337536061/298x396/9e5f6dd316/1540034676?v=1","title":"The Sympathizer: A Novel (Pulitzer Prize for Fiction)","short_title":"The Sympathizer","author":"Viet Thanh Nguyen","tracking":{"object_type":"document","object_id":337536061,"track":"flattened_recommender","doc_uuid":"QR9KNqK+krRsIcMuBXGErNOVOlc="},"url":"https://www.scribd.com/book/337536061/The-Sympathizer-A-Novel-Pulitzer-Prize-for-Fiction","top_badge":null},"355536196":{"type":"document","id":355536196,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/355536196/149x198/18281e75dd/1502144806?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/355536196/298x396/b004bf3235/1502144806?v=1","title":"Read Meargaergadfgaergadfga","short_title":"Read Meargaergadfgaergadfga","author":"José Pauliquevis de Freitas","tracking":{"object_type":"document","object_id":355536196,"track":"flattened_recommender","doc_uuid":"PrCIm5PHmj8T63bBeLMyQQo8trk="},"url":"https://www.scribd.com/document/355536196/Read-Meargaergadfgaergadfga","top_badge":null},"358588670":{"type":"document","id":358588670,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/358588670/149x198/72aa2fa7dc/1505133570?v=1","retina_thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/358588670/298x396/e60d992248/1505133570?v=1","title":"Sahil Garg","short_title":"Sahil Garg","author":"nikku nishad","tracking":{"object_type":"document","object_id":358588670,"track":"flattened_recommender","doc_uuid":"uQTEOkjTc27r/BnwQ0t+dyg31K8="},"url":"https://www.scribd.com/document/358588670/Sahil-Garg","top_badge":null},"374305987":{"type":"document","id":374305987,"thumb_url":"https://imgv2-2-f.scribdassets.com/img/document/374305987/149x198/b58a1dcd27/1521502209?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374305987/298x396/ad4380940b/1521502209?v=1","title":"CAD Standards8","short_title":"CAD Standards8","author":"ed booker","tracking":{"object_type":"document","object_id":374305987,"track":"flattened_recommender","doc_uuid":"mjkDBFMkPQCUc1vU3nCURU5V0dA="},"url":"https://www.scribd.com/document/374305987/CAD-Standards8","top_badge":null},"374423185":{"type":"document","id":374423185,"thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374423185/149x198/d12fc1bd23/1521563608?v=1","retina_thumb_url":"https://imgv2-1-f.scribdassets.com/img/document/374423185/298x396/f4667ee865/1521563608?v=1","title":"Automotive Overview","short_title":"Automotive Overview","author":"Surya Yudhistira Irawan","tracking":{"object_type":"document","object_id":374423185,"track":"flattened_recommender","doc_uuid":"ERL6zumu0dZUOH7Co3xsmat66LI="},"url":"https://www.scribd.com/document/374423185/Automotive-Overview","top_badge":null}}},"seo_roadblock_props_path":"/doc-page/seo-roadblock-props/87997133","signup_context":null,"toolbar":{"search_path":"/search-4gen?allowed_pages=1%2C2&auth_token=FeW4bqCW0PeD1dWBvKWAD3RS8Z8%3D&authenticity_token=mgouIIEuyn%2FCdxHbwit7Znk39M8jNtLBvyKR%2FKpIEN7MiuTOF9m0sSqxSErhlvxxlJSyTAnwrz4lUv50EZq8fg%3D%3D&expires=1540713232&wordDocumentId=87997133&wordUploadId=91205116"},"renewal_nag_props":null}-->